Anexa o resultado da contagem de palavras ao final de um arquivo

0

Eu quero contar o número de linhas em example.txt e acrescentar o resultado ao final deste arquivo. Como posso fazer isso?

Eu tentei:

wc -l > example.txt
    
por albert 27.09.2015 / 21:15

4 respostas

3

wc -l example.txt >> example.txt
    
por 27.09.2015 / 21:20
2

Como você sabe, wc -l por padrão, inclui o número do resultado mais o nome do arquivo. Se por algum motivo é melhor ter literalmente apenas o número do resultado, tente isto:

wc -l example.txt | cut -d' ' -f1 >> example.txt

Então, se example.txt começou com apenas 3 linhas, por exemplo:

a
b
c

Depois de executar o acima, use tail para ver as últimas linhas (nesse caso, poucas linhas para visualizar o arquivo inteiro):

$ tail example.txt
a
b
c
3

Explicação

  • você já conhece wc -l example.txt , o que fornece a contagem de linha de resultado e o nome do arquivo padrão, por exemplo, 3 example.txt
  • o comando cut ajuda a extrair "campos" das linhas
  • o -d é o de definir um delimitador / separador de campos, o que especificamos é ' ' , um espaço.
  • o -f1 significa escolher o primeiro campo, de modo que wc output foi 3 example.txt o 3 é o primeiro campo
  • >> acrescenta, por isso, salva o resultado 3 no final do arquivo example.txt
por 27.09.2015 / 21:54
0

O script a seguir adiciona a contagem de linhas ao final do arquivo, se ainda não estiver lá, mas exclui e substitui se já houver uma contagem de linhas.

Isso permite que você execute este script toda vez que seu (s) arquivo (s) estiver (em) editado sem adicionar várias linhas "Contagem de linhas:".

#! /bin/bash

count=$(wc -l "$1" | cut -d' ' -f1)

tail -1 "$1" | grep -q '^Line count: '
if [ $? ]; then
    count=$(( $count - 1 )) # don't count the 'Line count' line
    sed -i -e '$ d' "$1"
    echo "Line count: $count" >> "$1"
else
    echo "Line count: $count" >> "$1"
fi
    
por 28.09.2015 / 00:38
0

Para adicionar somente a quantidade de linhas, você pode tentar isso

$ cat example.txt | wc -l >> example.txt

Isso exibirá apenas a quantidade total de linhas no arquivo

    
por 28.09.2015 / 14:39

Tags