sed는 쉘 리다이렉션을 이용해 편집 결과를 저장하기 전까지는 파일에 변경을 가하지 않음
-n : 자동 출력 끄기
-i : 파일 수정
-e : 여러 명령 실행 (sed -e 'cmd1' -e 'cmd2')
-r : 확장 정규식 사용
g: 모든 부분 다 적용(안쓰면 첫번째만 치환됨)
i: 대소문자 무시
r: 파일 내용을 현재 줄에 삽입
ex) sed '2r firstfile.txt' secondfile.txt #두번째 줄 뒤에 fistfile.txt
w: 출력 결과를 파일로 저장
ex) sed 's/foo/bar/' file.txt w output.txt
a: 현재 줄 뒤에 텍스트 추가
ex) sed '2a This is a new line' file.txt
s: 치환
sed 's/찾을패턴/바꿀문자/[플래그]' 파일이름
d: 줄 삭제
ex) sed '3,$d' add1.txt #3번째부터 마지막줄까지 삭제
ex) sed '3,6d' add1.txt #3번째부터 6번째줄까지 삭제
ex) sed '3~2d' add1.txt #3번째부터 2줄 간격으로 삭제
a,i: 추가
sed 'a\추가할텍스트' file # 지정 줄 다음 줄에 추가
sed 'i\삽입할텍스트' file # 지정 줄 앞 줄에 삽입
p: 해당 줄 출력
(sed 실행하면 기본적으로 다 출력되어서 -n(출력 안해주는 옵션) 적용하고 p 사용함
ex) sed -n '2p' add1.txt #2번째 줄 출력
n: 현재 줄 출력하고 ;뒤에 오는 거는 현재의 다음줄에 적용
ex) sed 'n;d' add1.txt #홀수줄