본문 바로가기

Academy I/Tech Academy

sed(stream editor)

sed

sed s/'원본 문자열'/'바꿀 문자열'/

 

< 옵션 >

-n 파일 안에서의 패턴이 발견된 라인 및 라인 번호
-v 패턴이 발견되지 않은 라인
-i 대소구분 무시(ignore)
-l 패턴이 들어있는 파일 이름만
-c 패턴이 들어있는 라인 번호만

 

< 기능 >

d    : 텍스트 줄 삭제 명령

a\ : 텍스트 줄 다음에 첨가 명령

i\  : 텍스트 줄 앞에 첨가 명령
c\ : 텍스트 줄 변경 명령
n    : 다음 텍스트 줄을 읽는 명령
g    : 전체 파일 부분을 치환하는 명령
=    : 현재 줄 번호를 출력
p   : 패턴 일치되는 줄을 표준 출력

 

[/패턴/]= 대응되는 줄의 패턴과 일치하는 각 줄의 번호를 표준 출력

s/패턴/대체패턴/ 플래그 패턴을 대체패턴으로 바꿈. 플래그는 g, p, wfile
y/문자열1/문자열2/ 문자열1과 문자열2를 서로 바꿈

^ : ^패턴  : 패턴으로 시작하는 모든 라인 찾기  (^123 : 123으로 시작하는 라인 찾기)
$ : 패턴$  : 패턴으로 끝나는 모든 라인 찾기    ($111 : 111으로 끝나는 라인 찾기)
. : d...      : d로 시작하는 4자리 character 찾기
* : [a-d]* : a, b, c, d로 시작하는 character 찾기
[] : [Dd]atabase : Database 또는 database 찾기
[^] : [^D] : D가 나타나지 않는 라인 찾기 

 

 

해당줄 검색

< 해당줄 검색 >

|sed -n /root/p

-> "root" 포함하는 줄만 출력

 

|sed -n '1p;3p;'

-> 1번줄과 3번줄만 출력한다.

 

|sed -n '1,3p'

-> 1번줄, 2번줄, 3번줄만 출력한다. ( 1~3 출력 )

 

 

 

 해당줄 삭제

< 해당줄 삭제 >

|sed '8d'

-> 8번째 줄 삭제 후 출력

 

|sed '#d'

-> # 주석 라인 삭제 후 출력 

 

|sed /^$/d

|grep .

-> 빈  줄 모두 삭제 후 출력

 

|sed /root/d

-> "root"가 있는 줄은 삭제 후 출력

 

 

 

공백 삭제

 < 공백 삭제 >

|sed 's/ ///g'

-> 모든 공백을 제거 후 출력

 

|sed 's/^ *//g'

-> 문자열 앞 공백 제거 후 출력

 

|sed 's/ *$//g'

-> 문자열 뒤 공백 제거 후 출력

 

# sed -e 's/^ *//g' -e 's/ *$//g'

-> 문자열 앞 뒤 공백 제거 후 출력

 

 

 

해당줄 치환

< 해당줄 치환 > 

|sed s/1/2/

-> 라인에서 "1"을 찾아서 하나만  "2"으로 치환해서 출력

-> 11111 을   21111으로 변경

 

|sed s/1/2/g

-> 라인에서 "1"을 찾아서 모두 "2"으로 치환해서 출력

-> 11111 을 22222으로 변경

 

|sed s/root//g

-> "root"만 지워서 출력

 

|sed s/ *$//

-> 모든 줄의 끝에 빈 칸을 삭제

 

|sed s/11*/1/g

-> "1"으로 연속 적으로 나오는 것을 "1"하나로 변경

-> 11111  을   1으로 변경 

 

 

 

해당줄 입력 추가

< 해당줄 입력 추가>

 

|sed 's/^/Oracle /'

-> 라인 맨 앞에 원하는 글 추가 후 출력

 

|sed 's/$/ Oracle/'

-> 라인 맨 뒤에 원하는 글 추가 후 출력

 


[출처 : http://blog.naver.com/dong_wook35/220181105438]

'Academy I > Tech Academy' 카테고리의 다른 글

Jar Make  (0) 2015.09.16
Java Makefile  (0) 2015.09.15
한국 각 증권사별 API 현황  (0) 2015.06.16
gcc 컴파일 과정  (0) 2015.02.09
[REGEX]Regular expression  (0) 2015.02.02
Awk  (0) 2015.02.02
Regular expression  (0) 2015.02.02
assert와 매크로 함수를 이용한 디버깅 정보 얻기  (0) 2015.01.22