Contagem recursiva de ocorrências de uma palavra em arquivos com nome idêntico em diretórios diferentes

1

Eu tenho vários diretórios diferentes que contêm diferentes versões de alguns arquivos. Eu quero contar um símbolo em todas as versões do mesmo arquivo. Aqui está um exemplo da hierarquia.

directory
    version1
        1_file.txt
        2_file.txt
        ...
    version2
        1_file.txt
        2_file.txt 
        ... 
    ...

Eu tentei o seguinte:

symbol=\>

for i in 1 2 3; do
    grep -roh $symbol $i\_file.txt | wc -w;
done
    
por Eli Korvigo 09.07.2015 / 22:08

1 resposta

1
find . -name \[123]_file.txt -exec cat {} + | tr -sc \> \n | wc -l

... funcionará para seqüências do seu exemplo de um único caractere. Mas se a string for mais complexa, provavelmente será uma boa idéia ir com a opção -o nly do GNU para grep . Como:

find . -name \[123]_file.txt -exec grep -o \> {} + | wc -l
    
por 10.07.2015 / 01:51

Tags