텍스트 파일을 검색해서 특정 문자열이 있으면 거기까지의 내용을 출력하고 종료하는 방법이다. 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
'bash script' 카테고리의 다른 글
[bash: stat] 파일 크기 확인 (0) | 2024.01.03 |
---|---|
[bash: readarray] 리눅스 명령어의 출력을 한 줄씩 배열(array) 원소로 할당 (0) | 2023.12.12 |
리눅스 bash에서 문자열의 특정 범위만 떼어 내기(substring 만들기) (0) | 2023.11.15 |
리눅스 bash 스크립트에서 배열/연관배열 초기화 (0) | 2023.10.17 |
[bash: grep] grep에서 첫번째 일치하는 문자열을 찾으면 종료하기 (0) | 2023.10.17 |