sed
문자열을 변환하는 편집기입니다.
원본은 변경없이, 변경된 결과를 출력합니다. (-i 옵션으로 변경된 결과를 원본파일에 덮어쓸 수 있습니다. )
sed 사용법
sed [ option ] pattern file
옵션 |
의미 |
-i |
출력된 결과를 원본 파일에 덮어쓰기 |
sed 사용전 알아두기
^ 는 줄의 가장 앞을 의미합니다.
$ 는 줄의 가장 뒤를 의미합니다.
다음과 같은 문자열이 있을 때, 여러가지 테스트를 진행해 보겠습니다.
$ cat test.txt Good Morning. Hey. Good AfterNoon. Good Bye. See You Again. Thank You. So Much.
특정 단어를 다른 단어로 변경하는 방법입니다.
단어 Good 을 Great 으로 변경해 보겠습니다.
$ sed 's/Good/Great/g' test.txt Great Morning. Hey. Great AfterNoon. Great Bye. See You Again. Thank You. So Much.
줄의 가장 앞 단어를 변경하는 방법입니다.
줄의 가장 앞에있는 Good 을 Great 으로 변경해 보겠습니다.
$ sed 's/^Good/Great/g' test.txt Great Morning. Hey. Good AfterNoon. Great Bye. See You Again. Thank You. So Much.
줄의 가장 뒤 단어를 변경하는 방법입니다.
줄의 가장 뒤의 . 을 ! 로 변경해 보겠습니다.
$ sed 's/.$/!/g' test.txt Good Morning! Hey. Good AfterNoon! Good Bye! See You Again! Thank You! So Much!
특정 단어 뒤의 문장을 변경하는 방법입니다.
Good 단어 뒤의 문장들을 Apple 로 변경해 보겠습니다.
$ sed 's/Good.*/APPLE/g' test.txt APPLE Hey. APPLE APPLE See You Again. Thank You. So Much.
두 문장을 한 문장으로 합치는 방법입니다.
Thank You. 와 So Much. 를 한 문장으로 변경해 보겠습니다.
$ sed ':begin;$!N;s/.\nSo/ So/;tbegin;P;D' test.txt Good Morning. Hey. Good AfterNoon. Good Bye. See You Again. Thank You So Much.
'Linux > 명령어' 카테고리의 다른 글
[LINUX] expr 연산 계산 하기 (0) | 2018.02.13 |
---|---|
[LINUX] wildcard 문자열 잘라서 반환하기 (0) | 2018.02.12 |
[LINUX] crontab 스케줄러 ( 반복, 예약작업 ) 등록하기 (0) | 2018.02.11 |
[LINUX] vmstat 시스템 모니터링하기 (0) | 2017.12.03 |
[LINUX] strace 시스템 콜 추적하기 (0) | 2017.12.03 |