Estou tentando contar /
em um determinado caminho, mas grep
conta todas as instâncias como 1 quando está em 1 linha.
/home/usr/bin/test | grep / -c
dá uma resposta 1
.
Estou tentando contar /
em um determinado caminho, mas grep
conta todas as instâncias como 1 quando está em 1 linha.
/home/usr/bin/test | grep / -c
dá uma resposta 1
.
Seu comando realmente contaria o número de linhas contidas
/
na saída padrão do comando/home/usr/bin/test
Aqui estão algumas opções para contar as instâncias
/
na string/home/usr/bin/test
:As
grep -c
conta o número de linhas que contém o padrão. O uso da-o
opção gera conteúdo correspondente em linhas diferentes. Você pode então usar-c
para contar essas linhas.Usando
awk
(Imprima cada linha separadamente):-F"/"
: considere/
como delimitadores de campoNF-1
: número de campos-1.Imprimir todas as linhas:
Usando
sed
egrep
:sed "s@/@/\n@g"
coloca uma nova linha após cada uma/
paragrep
poder contar todas elas.Você está fazendo errado porque:
-c
sinalizador conta o número de linhas correspondentes"/home/usr/bin/test | grep / -c
significa literalmente que você está tentando executar/home/usr/bin/test
o arquivo e canalizar sua saída paragrep
O que você deve fazer é o seguinte:
contar saída individual de
grep
comusar ferramentas que não sejam
grep
: