cat
은 전체라인만 읽지만 sed -n -e 1,3p -e 10p
은 1~3, 10 라인 읽을 수 있다.
sed, grep, awk 를 이용한 특정 라인 범위 내에서 특정 단어를 포함한 라인으로 좁히고 특정 형태로 출력하도록 조합할 수 있다:
sed -n -e 1,5446p data.txt | grep false | awk '{print $1}'
보통 sed
는 파일 내용을 수정하고 백업을 만드는데 사용했는데..
-n
: 입력된 행을 표준 출력으로 보낸다.
-e
: 여러개의 범위를 지정하려면 -e
로 구분한다. sed -n 1,3p data.txt
이렇게 하나의 범위라면 -e
는 생략해도 된다.