본문 바로가기
운영체제/리눅스

[리눅스]sed 명령어

by Cloud_Park 2020. 12. 9.

sed는  지정된 입력 행들에 대해 수행할 작업을 결정한다.

주소 지정을 생략하면 입력이 들어오는 모든 행을 처리한다.

 

 

sed를 통한 스타트 스크립트도 만드니 해당 명령어를 습득을 하는게 좋을 것 같습니다.

 

옵션

옵션 설명
a 현재 행에 하나 이상의 새로운 행을 추가
c 현재 행의 내용을 새로운 내용으로 교체
d 행을 삭제
i 현재 행의 위에 텍스트를 삽입
h 패턴 스페이스의 내용을 홀드 스페이스에 복사
H 패턴 스페이스의 내용을 홀드 스페이스에 추가
g 홀트 스페이스의 내용을 패턴 스페이스에 복사
패턴 스페이스가 비어 있지 않는 경우 덮어쓰기
G 홀트 스페이스의 내용을 패턴 스페이스에 복사
패턴 스페이스가 비어 있지 않는 경우 추가
I 출력되지 않는 특수문자를 명확하게 출력
p 행을 출력
n 다음 입력 행을 첫 번째 명령어가 아닌 다음 명령어에서 처리
q 종료
r 파일로부터 행을 읽기
! 선택된 행을 제외한 나머지 전체 행에 명령어 적용
s 문자열 치환 

자주 사용하는건 강조

 

행출력 (1~4 열 1번 더  출력)

sed '1,4p' [파일 이름]

문자열 치환 /1/2/   //사이의 문자열을 교체

sed -i 's/이전 문자 /이후 문자/' [파일이름]

 

삭제 (1~2 번째 라인 삭제)  $는 마지막을 의미한다.    

sed '1,2d' [file] 

아래는  root가 존재하는 행에 모두 삭제

sed '/root/d' [file]