반응형
sed(streamlined editor)에 대해 알아보자.
표준 입력이나 파일로부터 데이터를 입력받아 한 행씩 처리하여 그 결과를 표준 출력으로 내보낸다.
또한 sed는 리다이렉션이나 파이프에 사용될 수 있다.
사용방법
sed [옵션] '명령어' [파일명]
표준 출력
sed -n '1p' data.txt # 특정 1행 출력
sed -n '1,3p' data.txt # 1~3번째 행까지 출력
sed -n '10,$p' data.txt # 10번째 행부터 마지막 행까지 출력
sed -n '/Feb/p' data.txt # 'Feb'를 포함한 행 출력
삭제
임시 버퍼 안에 각 행을 복사해서 처리하므로 원본 파일은 변경되지 않음
sed '1d' data.txt # 1번째 행 삭제
sed '5,$d' data.txt # 5번째 행부터 마지막 행까지 삭제
sed '/Feb/d' data.txt # 'Feb'를 포함한 모든 행 삭제
sed '/Feb/!d' data.txt # 'Feb를 포함하지 않는 모든 행 삭제
치환
sed 's/root/ROOT/' data.txt # 행마다 처음으로 발견 된 root 패턴을 ROOT로 치환
sed 's/root/ROOT/2' data.txt # 행마다 두번째로 발견 된 root 패턴을 ROOT로 치환
sed 's/root/ROOT/g' data.txt # 행마다 모든 root 패턴을 ROOT로 치환
sed -n 's/Feb/FFF/p' data.txt # 치환이 발생한 행만 출력
sed -e 's/Feb/FEB/g' -e 's/linux/LINUX/g' data.txt # 여러개 치환 수행
sed '/Feb/s/root/ROOT/g' data.txt # Feb가 포함된 행에서 root 패턴을 ROOT로 치환
기타
sed '/media/a\-----------------------------' data.txt # media가 포함된 행 뒤에 절취선 추가
sed '/media/i\-----------------------------' data.txt # media가 포함된 행 앞에 절취선 추가
sed '5q' data.txt # 5행까지 출력 후 sed 종료
반응형
'DevOps > Linux' 카테고리의 다른 글
리눅스 awk 명령어 - 1 (0) | 2021.06.19 |
---|---|
리눅스 find 명령어 (0) | 2021.06.06 |
리눅스 - 네임서버 개념, 작동 방식 (0) | 2021.05.30 |
리눅스 - 디스크 명령어 du, df (0) | 2021.05.09 |
프록시 서버 설정, 리눅스 스퀴드(squid) (0) | 2021.05.02 |