셸 스크립트의 파일에서 특정 패턴으로 시작하는 줄에서 문자열을 추출하고 싶습니다. 예 : 나는bash에서 파일의 특정 줄을 추출하는 방법은 무엇입니까?
hi to_RAm
hello to_Hari
hello to_kumar
bye to_lilly
출력
이 사람이 나를 도울 수to_Hari
to_kumar
해야한다 인사에서 시작하는 줄에 문자열을 원하는?
셸 스크립트의 파일에서 특정 패턴으로 시작하는 줄에서 문자열을 추출하고 싶습니다. 예 : 나는bash에서 파일의 특정 줄을 추출하는 방법은 무엇입니까?
hi to_RAm
hello to_Hari
hello to_kumar
bye to_lilly
출력
이 사람이 나를 도울 수to_Hari
to_kumar
해야한다 인사에서 시작하는 줄에 문자열을 원하는?
sed
이 가장 적합한 도구입니다 :
grep -oP '(?<=hello).*'
사용 그렙 :
grep ^hello file | awk '{print $2}'
^
이 "안녕하세요"로 시작하는 라인과 일치하는 것입니다. 이것은 두 번째 단어를 인쇄하려고한다고 가정합니다.
당신은 다음 첫 번째를 제외한 모든 단어를 인쇄하려면 :
sed -n 's/^hello //p'
여기서'awk'와 함께'grep'을 사용할 필요가 없습니다; 'awk' 스크립트에서 정규식을 지정하십시오 : awk '/^hello/{print $ 2}'file'. – chepner
당신은 GNU 그렙 (grep)의 펄 호환 정규 표현식에를 사용하고 lookbehind을 사용할 수
grep ^hello file | awk '{$1=""; print $0}'
"to_hari"의 대소 문자를 변경 하시겠습니까? –
no, question edited – Jagan