[bash: sed] 특정 행부터 파일 마지막까지 출력하기 리눅스 bash script

우선, sed 명령으로 파일의 특정 범위를 출력하는 기본적인 방법은 이전 게시물을 참고하자. 여기로

# my_file.txt 파일의 12번째 행만 출력
sed -n 12p my_file.txt

# my_file.txt 파일의 3번째 행부터 12번째 행까지 출력
sed -n 3,12p my_file.txt

예를 들어, my_file.txt 파일이 총 몇개의 행으로 이루어져 있는지 확인하지 않고 어쨌든 3번째 행부터 마지막까지 출력하려면 아래와 같이 할 수 있다.

# my_file.txt 파일의 3번째 행부터 마지막 행까지 출력
sed -n "3,\$p" my_file.txt

마지막 행을 지칭하는 기호가 "$"인데, 셸(shell)에서 변수를 지칭하는 것으로 해석되지 않도록 역슬래시(\)를 붙여야 함에 유의.

행번호가 아니라 특정 문자열이 처음 출현하는 행부터 마지막까지 출력하는 경우는 아래의 예시를 참고하자. my_file.txt 파일에서 문자열 "abc"가 처음 나오는 행부터 마지막 행까지 출력하는 경우다. 문자열로 범위를 지정하는 방법에 대한 좀 더 자세한 내용은 이전 게시물을 참고하자. 여기로

# my_file.txt 파일에서 문자열 abc가 처음 나오는 행부터 마지막 행까지 출력
sed -n "/abc/,\$p" my_file.txt



덧글

  • 우야 2018/12/18 11:21 # 삭제 답글

    안녕하세요 블로그 보고 도움을 많이 얻었습니다.
    하나만 여쭤봐도 될까요?
    혹시 리눅스 기능중에 텍스트 파일의 내용을 복사만 해놓는 명령어가 있을까요?
    예를 들어 1.txt 파일 내용에 abc 라는 내용이 있으면 명령어로 복사만 해놨다가
    나중에 복사된 내용을 사용할때 필요한 곳에서 Ctrl + V 로 붙여넣기만 하고 싶어서 그렇습니다.
  • 반달가면 2018/12/19 00:08 #

    답글로 쓰기엔 내용이 많아서 별도의 게시물로 작성하였습니다. 아래의 링크를 참고하시기 바랍니다.

    http://bahndal.egloos.com/622781
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

632349
4728
1719427

ad_widget_2