line (records) Contar e grep juntos em um comando em um arquivo dat

2

Eu quero fazer uma contagem de linha e obter o número em uma variável em um script de shell. Por exemplo,

 wc -l filename.dat

221 filename.dat Eu quero grep '221' em uma variável, que eu poderia usar mais tarde. Isso pode ser feito em uma única declaração? Eu não quero copiar a saída de wc -l para outro arquivo e então grep.

    
por JavaQuest 09.09.2015 / 21:13

1 resposta

5

Você pode passar o nome do arquivo para o STDIN de wc para obter apenas o número de linhas:

wc -l <filename.dat

Para salvá-lo como uma variável:

var="$(wc -l <filename.dat)"

Exemplo:

$ wc -l foo.txt 
12 foo.txt

$ wc -l <foo.txt 
12

$ var="$(wc -l <foo.txt)"

$ echo "$var"
12

Observe que, como Stéphane Chazelas apontou , algumas wc variants podem adicionar espaços antes e depois do número de linhas para obter o alinhamento desejado.

    
por 09.09.2015 / 21:15

Tags