Contar o número de linhas que começam com # [RESOLVIDO]

1. Contar o número de linhas que começam com # [RESOLVIDO]

hauck
hauck

(usa Nenhuma)

Enviado em 17/01/2020 - 13:46h

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



  


2. Re: Contar o número de linhas que começam com # [RESOLVIDO]

Marcelo Oliver
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
______________________________________________________________________


3. Re: Contar o número de linhas que começam com # [RESOLVIDO]

hauck
hauck

(usa Nenhuma)

Enviado em 18/01/2020 - 01:05h

Obrigado!


msoliver escreveu:


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:
Obrigado!

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
______________________________________________________________________









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts