구현 중인 시나리오가 있습니다.
발견된 일치 키워드의 마지막 항목만 가져오기
예를 들어:많은 데이터가 포함된 데모.txt라는 파일이 있습니다.
egrep -in '<NAME ="ABC_DEF_GHI">' /d/demo.txt
Line Number 11 : <NAME ="ABC_DEF_GHI">
Line Number 12 : <NAME ="ABC_DEF_GHI">
Line Number 34 : <NAME ="ABC_DEF_GHI">
Line Number 46 : <NAME ="ABC_DEF_GHI">
Line Number 67 : <NAME ="ABC_DEF_GHI">
Line Number 78 : <NAME ="ABC_DEF_GHI">
하지만 일치하는 키워드의 마지막 항목을 얻고 싶습니다.<NAME ="ABC_DEF_GHI">
출력은 다음과 같아야합니다.
Line Number 78 : <NAME ="ABC_DEF_GHI"> -> as its last occurrence
작동하지 않는 다음 코드를 시도했습니다.
tail -f -n 1 /d/demo.txt | egrep -in '<NAME ="ABC_DEF_GHI">'
답변1
tail
다음 일을 해라grep
egrep -in '<NAME ="ABC_DEF_GHI">' /d/demo.txt | tail -1
확장 정규식보다는 리터럴 문자열을 검색할 때 fgrep
.egrep
fgrep -in '<NAME ="ABC_DEF_GHI">' /d/demo.txt | tail -1
답변2
전체 파일에서 실행되는 것을 방지하려면 grep
파일을 반대로 하고 첫 번째 발생 위치를 가져옵니다.
tac file | egrep -in -m1 'pattern'