차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:sed [2015/05/27 03:13] – V_L | tech:sed [2022/12/02 12:52] (현재) – [삭제 : d] 61.74.132.138 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | {{tag> | ||
====== SED (스팀라인드 에디터; streamlined editor) ====== | ====== SED (스팀라인드 에디터; streamlined editor) ====== | ||
sed는 입력-작업-출력 방식으로 작동되는 대화형 기능이 없는 편집기이다. 명령행에서 직접 편집 명령어와 파일을 지정하여 작업한 후 결과를 화면으로 확인한다. sed 편집기는 원본을 손상하지 않는다. 리다이렉션을 이용하여 편집 결과를 파일로 저장하여 확인할 수 있다. | sed는 입력-작업-출력 방식으로 작동되는 대화형 기능이 없는 편집기이다. 명령행에서 직접 편집 명령어와 파일을 지정하여 작업한 후 결과를 화면으로 확인한다. sed 편집기는 원본을 손상하지 않는다. 리다이렉션을 이용하여 편집 결과를 파일로 저장하여 확인할 수 있다. | ||
+ | =====사용법===== | ||
==== 주소 지정==== | ==== 주소 지정==== | ||
줄 16: | 줄 17: | ||
==== 명령어와 옵션==== | ==== 명령어와 옵션==== | ||
=== 명령어=== | === 명령어=== | ||
- | |a\| 현재 행에 하나 이상의 새로운 행을 추가한다.| | + | | a\ | 현재 행에 하나 이상의 새로운 행을 추가한다. |
- | |c\| 현재 행의 내용을 새로운 내용으로 바꾼다.| | + | | c\ | 현재 행의 내용을 새로운 내용으로 바꾼다. |
- | |i\| 현재 행의 위에 삽입한다.| | + | | i\ | 현재 행의 위에 삽입한다. |
- | |d |행을 삭제한다.| | + | | d |
- | |l |출력되지 않는 특수문자를 출력한다.| | + | | l |
- | |p |행을 출력한다.| | + | | p |
- | |n |다음 입력 행을 첫 번째 명령어가 아닌 다음 명령어에서 처리하게 한다.| | + | | n |
- | |q |sed를 종료한다.| | + | | q |
- | |r |파일로부터 행을 읽어온다.| | + | | r |
- | |! |선택된 행을 제외한 나머지 전체 행에 명령어를 적용한다.| | + | | ! |
- | |s |문자열을 치환한다.| | + | | s |
- | | /g | | + | | / |
=== 옵션=== | === 옵션=== | ||
줄 99: | 줄 100: | ||
=====예제===== | =====예제===== | ||
- | ====출력 : p==== | + | ====찾기 |
- | sed '/ | + | sed '/ |
: 기본 설정에서는 모든 행을 표준 출력으로 내보낸다. 패턴 love가 있는 행을 찾으면 그 행을 한 번 더 출력한다. | : 기본 설정에서는 모든 행을 표준 출력으로 내보낸다. 패턴 love가 있는 행을 찾으면 그 행을 한 번 더 출력한다. | ||
- | sed -n '/ | + | sed -n '/ |
: 기본 설정에 의한 p 명령어의 동작을 제한한다. -n 옵션을 사용하면 love 패턴을 포함하는 행들만 출력한다. | : 기본 설정에 의한 p 명령어의 동작을 제한한다. -n 옵션을 사용하면 love 패턴을 포함하는 행들만 출력한다. | ||
==== 삭제 : d==== | ==== 삭제 : d==== | ||
+ | |||
+ | |||
+ | sed '/ | ||
+ | : love를 포함하는 모든 행을 삭제하고, | ||
+ | |||
sed ' | sed ' | ||
: 3번 행을 삭제한다. 다른 행들은 기본적으로 한번 출력된다. | : 3번 행을 삭제한다. 다른 행들은 기본적으로 한번 출력된다. | ||
줄 117: | 줄 123: | ||
sed ' | sed ' | ||
: 마지막 행을 삭제한다. 삭제된 행 이외의 모든 행들이 출력된다. | : 마지막 행을 삭제한다. 삭제된 행 이외의 모든 행들이 출력된다. | ||
- | |||
- | sed '/ | ||
- | : love를 포함한 모든 행을 삭제하고, | ||
- | |||
==== 치환 : s==== | ==== 치환 : s==== | ||
줄 180: | 줄 182: | ||
다중명령어 처리시 중괄호를 사용하며, | 다중명령어 처리시 중괄호를 사용하며, | ||
- | ====다중 파일에서 찾아 바꾸기.==== | + | ====다중 파일에서 찾아 바꾸기==== |
줄 188: | 줄 190: | ||
abc를 찾아 123 으로 바꾼다. | abc를 찾아 123 으로 바꾼다. | ||
/g 한줄에 대상문자가 여러개일 때도 처리하도록 한다. (global을 의미) | /g 한줄에 대상문자가 여러개일 때도 처리하도록 한다. (global을 의미) | ||
- | | ||
+ | sed -i ' | ||
+ | |||
+ | |||
+ | ====파일 목록에서==== | ||
+ | |||
+ | xargs sed -i ' | ||
+ | |||
+ | xargs sed -i ' | ||
=====참고===== | =====참고===== | ||
줄 197: | 줄 206: | ||
- | {{tag> | + |