Número de palavras de um arquivo com o shell do Linux

0

Como faço para encontrar e muitas palavras de um arquivo com o shell do Linux?

Eu tenho

text
example

text
example

text
example

text
example

E eu preciso

text
example1

text
Example2

text
example3

text
example4

Ou seja, a palavra está localizada e, em seguida, os números.

    
por Regis da Silva 17.09.2011 / 07:51

2 respostas

5

Eu não entendo completamente sua pergunta. No entanto, desde o seu exemplo de entrada e seu exemplo de saída, você pode fazer algo assim (apenas uma orientação):

Seu arquivo de entrada chamado "exemplo" é o seguinte:

text
example

text
example

text
example

text
example

Assim, desde que "texto" pode ser qualquer coisa em uma linha, e "exemplo" é apenas "exemplo" (editar meu código para atender às suas necessidades); você pode combinar seus requisitos de saída com a seguinte declaração (não muito exaustiva, no entanto):

hmontoliu@ulises:/tmp$ awk 'BEGIN {c=0} {if ( $0 ~ /example/ ) {c+=1; print $0c} else print $0}'   example 
text
example1

text
example2

text
example3

text
example4

HTH

    
por 17.09.2011 / 11:45
2

Pelo que entendi, você quer imprimir linhas e depois desse número de linha.

Para imprimir o número da linha e, em seguida, as linhas, use cat ou nl :

$ cat -n test.txt 
     1  text example
     2  text example
     3  text example
     4  text example

$ nl test.txt 
     1  text example
     2  text example
     3  text example
     4  text example

Mas não há possibilidade de imprimir números após linhas em cat e nl , para que você possa usar awk :

$ awk '{print $0 "\t" NR}' test.txt 
text example    1
text example    2
text example    3
text example    4
    
por 17.09.2011 / 08:52