Linux Shell 상용 기술 (3) 흐름 편집기 sed
sed 명령 형식
sed [nefri] 'command' file(s)
일반 옵션:
명령 하 다.
기능 설명
-n
조용 (silent) 모드 를 사용 합 니 다.일반 sed 의 용법 에 서 는 stdin 에서 온 모든 자 료 를 화면 에 표시 하지만 - n 인 자 를 더 하면 sed 특수 처 리 를 거 친 줄 (또는 command) 만 열 거 됩 니 다.
-e
다 중 편집 허용.
-f
sed 의 동작 을 파일 에 직접 쓰 고 - f filename 은 filename 의 sed 동작 을 수행 할 수 있 습 니 다.
-r
sed 의 동작 은 연장 형 정규 표현법 의 문법 을 지원 한다.(프 리 셋 은 기초 정규 표현 프랑스어 법)
-i
화면 으로 출력 하 는 것 이 아니 라 읽 은 파일 내용 을 직접 수정 합 니 다.
상용 명령:
명령 하 다.
기능 설명
a\
새로 추 가 됩 니 다. a 의 뒤에 문자열 을 연결 할 수 있 습 니 다. 이 문자열 들 은 새로운 줄 에 나타 납 니 다 (현재 다음 줄).
c\
대신 c 의 뒤에 문자열 을 연결 할 수 있 습 니 다. 이 문자열 들 은 n1, n2 사이 의 줄 을 대체 할 수 있 습 니 다.
d
삭제, 삭제 이기 때문에 d 뒤 에는 보통 어떤 쿵쿵 도 받 지 않 습 니 다.
i\
삽입, i 뒤에 문자열 을 연결 할 수 있 습 니 다. 이 문자열 들 은 새로운 줄 에 나타 납 니 다 (현재 이전 줄).
p
인쇄 도 곧 어떤 선택의 자 료 를 인쇄 할 것 이다.보통 p 는 인자 sed - n 과 함께 작 동 합 니 다.
s
대신, 직접 대체 할 수 있 는 일 이 잖 아!보통 이 s 의 동작 은 정규 표현법 과 어 울 릴 수 있다!예 를 들 어 1, 20s/old/new/g 이면 됩 니 다.
고급 명령:
명령 하 다.
기능 설명
h
pattern space 의 내용 을 holding buffer (특수 버퍼) 로 복사 합 니 다.
H
pattern space 의 내용 을 holding buffer 에 추가 합 니 다.
g
holding buffer 의 내용 을 가 져 오고 현재 pattern space 의 텍스트 를 대체 합 니 다.
G
holding buffer 의 내용 을 가 져 와 현재 pattern space 뒤에 추가 합 니 다.
n
다음 입력 줄 을 읽 고 첫 번 째 명령 이 아 닌 다음 명령 으로 새 줄 을 처리 합 니 다.
P
pattern space 의 첫 줄 을 인쇄 합 니 다./대문자
q
sed 를 종료 합 니 다.
w file
파일 의 끝 에 pattern space 를 쓰 고 추가 합 니 다.
!
뒤의 명령 이 선택 되 지 않 은 모든 줄 에 작용 한 다 는 것 을 나타 낸다.
s/re/string
정규 표현 식 re 를 string 으로 대체 합 니 다.
=
현재 줄 번 호 를 인쇄 합 니 다.
대체 태그
g
줄 내 전면 교체, g 가 없 으 면 첫 번 째 일치 만 교체 합 니 다.
x
pattern space 와 holding buffer 의 텍스트 를 교환 합 니 다.
y
한 문 자 를 다른 문자 로 번역 합 니 다.
설명 이 필요 한 것 은 sed 의 정규 와 grep 의 기본 이 같 고 본 시리즈 의 첫 번 째 편 에서 상세 한 설명 을 참조 할 수 있다 는 것 이다.
실례
# cat testfile
northwest NW Charles Main 3.0 .98 3 34
western WE Sharon Gray 5.3 .97 5 23
southwest SW Lewis Dalsass 2.7 .8 2 18
southern SO Suan Chin 5.1 .95 4 15
southeast SE Patricia Hemenway 4.0 .7 4 17
eastern EA TB Savage 4.4 .84 5 20
northeast NE AM Main Jr. 5.1 .94 3 13
north NO Margot Weber 4.5 .89 5 9
central CT Ann Stephens 5.7 .94 5 13
인 스 턴 스 1.1: 템 플 릿 north 가 찾 으 면 sed 는 모든 줄 을 인쇄 하 는 것 외 에 도 일치 하 는 줄 을 인쇄 합 니 다.
sed '/north/p' testfile
northwest NW Charles Main 3.0 .98 3 34
northwest NW Charles Main 3.0 .98 3 34
western WE Sharon Gray 5.3 .97 5 23
southwest SW Lewis Dalsass 2.7 .8 2 18
southern SO Suan Chin 5.1 .95 4 15
southeast SE Patricia Hemenway 4.0 .7 4 17
eastern EA TB Savage 4.4 .84 5 20
northeast NE AM Main Jr. 5.1 .94 3 13
northeast NE AM Main Jr. 5.1 .94 3 13
north NO Margot Weber 4.5 .89 5 9
north NO Margot Weber 4.5 .89 5 9
central CT Ann Stephens 5.7 .94 5 13
** 1.2:**-n sed 。 -n , , -n 。 **
sed -n '/north/p' testfile
northwest NW Charles Main 3.0 .98 3 34
northeast NE AM Main Jr. 5.1 .94 3 13
north NO Margot Weber 4.5 .89 5 9
** :** 5-7
# nl testfile |sed -n '5,7p'
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
** 2.1:** , 。
nl testfile |sed '3d'
1 northwest NW Charles Main 3.0 .98 3 34
2 western WE Sharon Gray 5.3 .97 5 23
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
9 central CT Ann Stephens 5.7 .94 5 13
** 2.2:** 2~5
nl testfile |sed '2,5d'
1 northwest NW Charles Main 3.0 .98 3 34
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
9 central CT Ann Stephens 5.7 .94 5 13
** 2.3:** , 。$ 。
nl testfile |sed '3,$d'
1 northwest NW Charles Main 3.0 .98 3 34 2 western WE Sharon Gray 5.3 .97 5 23
** 2.4:** , 。
# nl testfile |sed '$d'
1 northwest NW Charles Main 3.0 .98 3 34
2 western WE Sharon Gray 5.3 .97 5 23
3 southwest SW Lewis Dalsass 2.7 .8 2 18
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
** 2.5:** north , 。
# nl testfile |sed '/north/d'
2 western WE Sharon Gray 5.3 .97 5 23
3 southwest SW Lewis Dalsass 2.7 .8 2 18
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
9 central CT Ann Stephens 5.7 .94 5 13
** 3.1: ( ) "United States"**
nl testfile |sed '2a United States'
1 northwest NW Charles Main 3.0 .98 3 34
2 western WE Sharon Gray 5.3 .97 5 23United States
3 southwest SW Lewis Dalsass 2.7 .8 2 18
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
9 central CT Ann Stephens 5.7 .94 5 13
,
nl testfile |sed '2i United States'
** 3.2: 。**
nl testfile |sed '2a United States > America'
1 northwest NW Charles Main 3.0 .98 3 34
2 western WE Sharon Gray 5.3 .97 5 23United States America
3 southwest SW Lewis Dalsass 2.7 .8 2 18
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
9 central CT Ann Stephens 5.7 .94 5 13
, “\” 。
** 4.1: 2~5 “No 2-5 number”。**
nl testfile |sed '2,5c No 2-5 number'
1 northwest NW Charles Main 3.0 .98 3 34No 2-5 number
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
9 central CT Ann Stephens 5.7 .94 5 13
** 3.1:s ,g 。 west, north, g, 。**
** :**sed 's/ / /g'
nl testfile |sed 's/west/north/g'
1 northnorth NW Charles Main 3.0 .98 3 34
2 northern WE Sharon Gray 5.3 .97 5 23
3 southnorth SW Lewis Dalsass 2.7 .8 2 18
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
9 central CT Ann Stephens 5.7 .94 5 13
** 3.2:-n , west, north。**
````**
sed -n 's/^west/north/p' testfile
northern WE Sharon Gray 5.3 .97 5 23
** 3.3:& 。 , , .5。**
nl testfile |sed 's/[0-9][0-9]$/&.5/'
1 northwest NW Charles Main 3.0 .98 3 34.5
2 western WE Sharon Gray 5.3 .97 5 23.5
3 southwest SW Lewis Dalsass 2.7 .8 2 18.5
4 southern SO Suan Chin 5.1 .95 4 15.5
5 southeast SE Patricia Hemenway 4.0 .7 4 17.5
6 eastern EA TB Savage 4.4 .84 5 20.5
7 northeast NE AM Main Jr. 5.1 .94 3 13.5
8 north NO Margot Weber 4.5 .89 5 9
9 central CT Ann Stephens 5.7 .94 5 13.5
** 3.4: Hemenway Jones。-n p 。**
nl testfile |sed -n 's/Hemenway/Jones/gp'
5 southeast SE Patricia Jones 4.0 .7 4 17
** 3.5: Mar , tag **
1, \1 ,Margot Marlianne。
nl testfile |sed -n 's/(Mar)got/\1lianne/p'
8 north NO Marlianne Weber 4.5 .89 5 9
** 3.6:s , , s 。 s 。 , 。
**
````
# sed 's#3#88#g' testfile
````
````
northwest NW Charles Main 88.0 .98 88 884western WE Sharon Gray 5.88 .97 5 288southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 88 188north NO Margot Weber 4.5 .89 5 9central CT Ann Stephens 5.7 .94 5 188
````
````
# sed 's@3@88@g' testfile
````
````
northwest NW Charles Main 88.0 .98 88 884western WE Sharon Gray 5.88 .97 5 288southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 88 188north NO Margot Weber 4.5 .89 5 9central CT Ann Stephens 5.7 .94 5 188
````
** 3.7: west east , west east , west east, east , , west east, west 。**
````
# nl testfile |sed -n '/south/,/east/p'
````
````
3 southwest SW Lewis Dalsass 2.7 .8 2 18
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
````
** 3.8: northeast 。**
````
# sed -n '5,/^northeast/p' testfile
southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 3 13
````
** 3.9:-e 。 。 Jones Hemenway。**
````
# nl testfile |sed -e '1,3d' -e 's/Hemenway/Jones/'
````
````
4 southern SO Suan Chin 5.1 .95 4 15 5 southeast SE Patricia Jones 4.0 .7 4 17 6 eastern EA TB Savage 4.4 .84 5 20 7 northeast NE AM Main Jr. 5.1 .94 3 13 8 north NO Margot Weber 4.5 .89 5 9 9 central CT Ann Stephens 5.7 .94 5 13
````
** 3.10: north newfile 。**
````
# sed -n '/north/w newfile' testfile
````
````
# cat newfile
northwest NW Charles Main 3.0 .98 3 34northeast NE AM Main Jr. 5.1 .94 3 13north NO Margot Weber 4.5 .89 5 9
````
** 4.1:i , 。**
````
# sed '/eastern/i\NEW ENGLAND REGION' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34western WE Sharon Gray 5.3 .97 5 23southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17NEW ENGLAND REGIONeastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 3 13north NO Margot Weber 4.5 .89 5 9central CT Ann Stephens 5.7 .94 5 13
````
** 5.1: eastern , , ,n ,s/AM/Archie/ Archie AM ,p -n , 。**
````
# sed -n '/eastern/{n;s/AM/Archie/;p}' testfile
````
````
northeast NE Archie Main Jr. 5.1 .94 3 13
````
** :-e , y ,-n , 。 y 。**
````
# sed -n -e '1,3y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' -e '1,3p' testfile
````
````
NORTHWEST NW CHARLES MAIN 3.0 .98 3 34WESTERN WE SHARON GRAY 5.3 .97 5 23SOUTHWEST SW LEWIS DALSASS 2.7 .8 2 18
````
** : 。**
````
# sed '2q' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34western WE Sharon Gray 5.3 .97 5 23
````
** : Lewis , Lewis Joseph, q sed。**
````
# sed '/Lewis/{s/Lewis/Joseph/;q;}' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34western WE Sharon Gray 5.3 .97 5 23southwest SW Joseph Dalsass 2.7 .8 2 18
````
** : sed , pattern space 。 , 。 pattern space , 。 , northeast , pattern space ,h holding buffer 。 sed , ,G sed holding buffer , pattern space , 。**
````
# sed -e '/northeast/h' -e '$G' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34western WE Sharon Gray 5.3 .97 5 23southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 3 13north NO Margot Weber 4.5 .89 5 9central CT Ann Stephens 5.7 .94 5 13northeast NE AM Main Jr. 5.1 .94 3 13
````
** : WE ,h pattern space holding buffer ,d , WE 。 CT, ,G holding buffer , pattern space 。 ,WE CT 。**
````
# sed -e '/WE/{h;d;}' -e '/CT/{G;}' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 3 13north NO Margot Weber 4.5 .89 5 9central CT Ann Stephens 5.7 .94 5 13western WE Sharon Gray 5.3 .97 5 23
````
** : northeast pattern space holding buffer, ,g sed holding buffer , pattern space , pattern space 。 northeast 。**
````
# sed -e '/northeast/h' -e '$g' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34western WE Sharon Gray 5.3 .97 5 23southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 3 13north NO Margot Weber 4.5 .89 5 9northeast NE AM Main Jr. 5.1 .94 3 13
````
** : WE h holding buffer, d 。 WE 。 CT ,g holding buffer , pattern space , CT 。 , northeast , CT 。**
````
# sed -e '/WE/{h;d;}' -e '/CT/{g;}' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 3 13north NO Margot Weber 4.5 .89 5 9western WE Sharon Gray 5.3 .97 5 23
````
** : h Patricia holding buffer , x , holding buffer pattern space , pattern space holding buffer 。 Margot holding buffer , Patricia , holding buffer 。**
````
# sed -e '/Patricia/h' -e '/Margot/x' -e '$G' testfile
````
````
northwest NW Charles Main 3.0 .98 3 34western WE Sharon Gray 5.3 .97 5 23southwest SW Lewis Dalsass 2.7 .8 2 18southern SO Suan Chin 5.1 .95 4 15southeast SE Patricia Hemenway 4.0 .7 4 17eastern EA TB Savage 4.4 .84 5 20northeast NE AM Main Jr. 5.1 .94 3 13southeast SE Patricia Hemenway 4.0 .7 4 17central CT Ann Stephens 5.7 .94 5 13north NO Margot Weber 4.5 .89 5 9
````
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.