bash script2023. 12. 8. 14:46

 

텍스트 파일을 검색해서 특정 문자열이 있으면 거기까지의 내용을 출력하고 종료하는 방법이다. sed를 이용하면 된다. 우선, 파일의 내용이 아래와 같다고 가정해 보자. 

cat my_file.txt
123
abc
def
ghi

이 파일에서 문자열 "de"가 나타나면 더 이상 진행하지 않고 종료하도록 하려면 아래와 같이 할 수 있다. 

sed '/de/q' my_file.txt
123
abc
def

세번째 행에서 "de"가 포함되는 행이 나왔기 때문에 여기까지 출력하고 종료했다. 

만약 대상 문자열이 포함된 행을 제외하고 출력하고 싶다면 소문자 "q" 대신 대문자 "Q"를 사용한다. 

sed '/de/Q' my_file.txt
123
abc

728x90
Posted by 반달가면