
msoliver
(usa Debian)
Enviado em 17/01/2020 - 19:01h
hauck escreveu:
Estou usando o comando abaixo para contar as linhas de alguns scripts e é retornado o número total de linhas de cada arquivo.
Quero o número de linhas comentadas (as linhas que começam com #),
o número de linhas de código e também
o número total de linhas de cada arquivo,
mas não sei como fazer isso com expressões regulares. => '^#'
Alguém poderia ajudar?
find . -name "*.sh" -type f -exec wc -l {} +
206 ./wlan.sh
8 ./files.sh
214 total
Boa noite,
Segue sugestão:
for arq in *.sh;do
echo -e "Arquivo: $arq\n\
Comentadas: $(($(grep -Ec '^#' < $arq)-1))\n\
Total: $(wc -l < $arq)";
done
OBS.:
O -1 é para não contar o
"shebang" =>
#!/bin/bash
REGEX para "casar" a linha comentada: '
^#'
Com o "find":
find . -iname "*.sh" -exec wc -l {} \; -exec grep -Ec '^#' {} \;
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________