sed
나는 그것을 사용하여 파일에서 몇 줄을 제공하고 싶습니다 . 나는 내가 알고 있는 파일의 특정 부분에서만 이 줄을 추출하고 싶습니다. 예를 들어 100줄의 파일이 있는데 10줄과 30줄에서 특정 패턴이 있는 줄을 찾고 있습니다.
현재 해결책은 두 가지 sed
명령을 사용하는 것입니다. 첫 번째 명령은 내가 가지고 있는 줄 번호 사이의 모든 내용을 인쇄합니다.
sed -n "10,30p" target_file.file
두 번째는 패턴을 사용하여 이 결과를 검색합니다.
sed -n '/pattern/p'
그래서 결국 나는 이것을 가지고 있습니다 :
sed -n "10,30p" target_file.file | sed -n '/pattern/p'
두 명령에서 하나의 명령을 생성하는 방법이 있습니까?
답변1
당신은 할 수 있습니다:
$ sed -n '10,30{
/pattern/p
}' <file
이는 현재 표준 구문입니다. 다음을 사용할 수도 있습니다.
$ sed -n '10,30{/pattern/p;}' <file
다음 POSIX 버전에서.