ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux] sed 명령어
    서버 2016. 10. 28. 15:27

    sed명령어는 1개 라인씩 입력 라인을 읽어들여 표준출력으로 출력. 

    sed는 각 라인을 읽을 때마다 ed에서 사용하던 형식의 대치작업을 실행. 일치하는 문자열이 있으면 그 문자열을 대치한 후 출력하고 일치하는 문자열이 없으면 그 라인은 수정되지 않고 그대로 출력.

    라인들을 하나씩 읽고, 수정하고, 출력하기 때문에 기억장치 안의 버퍼를 사용하지 않음. 버퍼를 사용하지 않으면 파일의 크기에 제한 없이 작업을 할 수 있음. sed는 아주 큰 파일을 처리할 때 주로 사용됨.

    치환

    $ sed 's/addrass/address/' list.txt # addrass를 address로 바꿈. 단, 원본파일을 바꾸지 않고 표준출력 $ sed 's/\t/\ /g' list.txt # list파일 내 탭문자를 엔터로 전체 변환

    삭제

    $ sed '/TD/d' 1.html # TD 문자가 포함된 줄을 삭제하여 출력
    $ sed '/Src/!d' 1.html # Src 문자가 있는 줄만 지우지 않는
    $ sed '1,2d' 1.html # 처음 1줄, 2줄을 지움
    $ sed '/^$/d 1.html # 공백라인을 삭제하는 명령

    특정 행 출력

    $ sed -n 42p < test.txt # test.txt파일의 42번째 줄 출력


    댓글