Substituir a última linha para:
grep -c -e "$line" -e "name" -e $((line+1))
Você pode definir mais condições com o parâmetro -e
, e wc é inútil, grep pode contar correspondências com -c
Eu usei o seguinte comando para obter uma lista exclusiva de cada nome do meu arquivo
grep -oP "name_\w*" file_copy.txt | sort |uniq > list.txt
FILE=list.txt
while read line; do
cat file_copy.txt | grep "$line" | wc -l
cat file_copy.txt | grep $line | grep "name" | grep $line+1 -v | wc -l
O último comando não está sendo executado da maneira esperada
list.txt arquivos como abaixo:
EUA
Rússia
Japão
file_copy.tx t
EUA Rússia Rússia Rússia Japão
Japão Japão EUA EUA Rússia
Japão Japão EUA EUA Rússia
Japão Rússia EUA EUA Rússia
Substituir a última linha para:
grep -c -e "$line" -e "name" -e $((line+1))
Você pode definir mais condições com o parâmetro -e
, e wc é inútil, grep pode contar correspondências com -c
Para um determinado arquivo input
:
a
b
c
d
e
f
g
Se você deseja obter uma contagem de linhas correspondentes, digamos, e
e b
:
$ grep -c -e 'e' -e 'b'
2
Tags grep