Linux 쉘을 사용하여 파일에서 얻은 단어 수

Linux 쉘을 사용하여 파일에서 얻은 단어 수

Linux 쉘을 사용하여 파일의 여러 단어를 찾는 방법은 무엇입니까?

나는 가지고있다

text
example

text
example

text
example

text
example

나는해야한다

text
example1

text
Example2

text
example3

text
example4

즉, 단어를 먼저 찾은 다음 숫자를 찾습니다.

답변1

귀하의 질문을 완전히 이해하지 못했습니다. 그러나 입력 예제와 출력 예제를 제공하면 다음과 같은 작업을 수행할 수 있습니다(한 방향만).

"example"이라는 입력 파일은 다음과 같습니다.

text
example

text
example

text
example

text
example

따라서 "텍스트"는 한 줄의 모든 것이 될 수 있고 "예제"는 단지 "예제"일 뿐이라고 가정합니다(필요에 맞게 코드를 편집하십시오). 출력 요구 사항을 다음 문과 일치시킬 수 있습니다(너무 자세하지는 않음).

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

화타이

답변2

예제에서 내가 이해하는 한, 줄과 해당 줄 번호 뒤의 줄을 인쇄하고 싶습니다.

cat줄 번호와 행을 인쇄하려면 다음을 사용할 수 있습니다 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

하지만 줄 뒤에 숫자를 인쇄하는 것은 불가능하므로 다음을 cat사용할 nl수 있습니다 awk.

$ awk '{print $0 "\t" NR}' test.txt 
text example    1
text example    2
text example    3
text example    4

관련 정보