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