grep várias strings do arquivo

0

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

    
por new bie 23.11.2016 / 17:09

2 respostas

1

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

    
por 23.11.2016 / 17:12
0

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
    
por 23.11.2016 / 17:19

Tags