![특정 문자가 있는 줄의 줄 번호를 얻는 방법은 무엇입니까?](https://linux55.com/image/119212/%ED%8A%B9%EC%A0%95%20%EB%AC%B8%EC%9E%90%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EC%A4%84%EC%9D%98%20%EC%A4%84%20%EB%B2%88%ED%98%B8%EB%A5%BC%20%EC%96%BB%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
다음과 같은 인구 파일이 있습니다.
Pop_ID
good
HA_27
HA_14
HA_1
HA_20
HA_17
HA_26
HA_22
HA_7
HA_7
HA_16
HA_14
HA_2
HA_1
HA_11
HA_3
HA_7
HA_25
HA_23
특정 문자가 포함된 줄의 줄번호를 출력하고 싶습니다. 예를 들어, " HA_1
"에서는 5행과 15행에 이 문자가 있습니다.
5
15
답변1
그리고 awk
.
awk '/\<HA_1\>/{print NR}' infile
그리고 sed
.
sed -n '/\<HA_1\>/=' infile
답변2
사용 sed
:
$ sed -n '/^HA_1$/=' file
5
15
이 sed
표현식은 정규 표현식과 일치하는 모든 행에 명령을 적용 /^HA_1$/=
합니다 . 이 명령은 현재 줄 번호를 출력하며 정규식은 고유한 내용이 다음과 같은 모든 줄과 일치합니다 .=
^HA_1$
=
HA_1
답변3
grep+자르다방법:
grep -wn 'HA_1' file | cut -d':' -f1
산출:
5
15