linux 셸 노트 sed
6313 단어 Linux
1. sed 는 한 줄 에서 모드 공간 으로 읽 고, 가 져 오기 전에 이전 모드 공간 내용 (다 중 모드 에서 명령 N 읽 기 제외) 을 지 웁 니 다. 스 크 립 트 는 스 크 립 트 상단 부터 모드 공간의 내용 을 처리 하고, 명령 업데이트 모드 공간 내용 을 처리 합 니 다. 새로운 명령 은 업 데 이 트 된 모드 공간 에서 진 행 됩 니 다.스 크 립 트 아래쪽 에 도착 하면 기본적으로 화면 으로 보 내 도 됩 니 다. - n 을 사용 하여 이 기본 출력 을 금지 할 수 있 습 니 다. sed 는 원본 파일 의 내용 을 수정 하지 않 습 니 다.
2. sed 명령 은 0 개의 1 개 또는 2 개의 주 소 를 지정 할 수 있 습 니 다. 각 주 소 는 설명 모드, 줄 번호 또는 줄 주소 지정 기호의 정규 표현 식 입 니 다.
3. sed 명령 형식 sed [options] 'command' 파일; sed [options] -f scriptfile files
3.1 추가
a\ 。
i\ , 。
c\ , 1~3 123456789
1,3c\123456789
$a\end of file
$i\end of file
$c\end of file
,sed awk aic , , aic ,
1{
c\1234
=
=
p
p
p
}
1234, , , 。
3.2 바꾸다 [address]s/pattern/replacement/flags 정규 표현 식 pattern 을 replacement 으로 대체 합 니 다.flag 는 표시 할 수 있 습 니 다.
n 1~512 , n pattern
g , g pattern
p
W file
, /, s/444/111/, s244421112,
2, 。 。
pattern \( \) , repalcement
(n ) pattern , & pattern
,
google o , e。 s/\/&e/g,\ ,&e e。
google o g, o ? ,s/\/g\1gle/g, pattern \( \)
, replacement \1。
3.3 줄 d 삭제, 예 를 들 어 1, 3 줄 1, 3d 삭제
3.4 리스트 l 인쇄 할 수 없 는 문자 목록 을 보 여 줍 니 다. 인쇄 할 수 없 는 문 자 를 두 개의 숫자 로 표시 하 는 ascii 코드 입 니 다. 예 를 들 어 \ t...
3.5 변환 [address]y/abc/xyz/
이 명령 은 문자열 abc 의 모든 문 자 를 xyz 에 대응 하 는 문자 로 위치 에 따라 변환 합 니 다. 대소 문자 변환 시 y / abcdeghijklmnopqrstuvwxyz / ABCDEFGHIJKLMNOPQRSTuvWXYZ /
3.6 인쇄 p
3.7 줄 번호 인쇄 =
3.8 다음 줄 n 을 읽 고 재 처리 가 아 닌 다음 명령 으로 처리 합 니 다. 다음 줄 111 의 줄 을 찾 은 후 다음 줄 이 빈 줄 이면 다음 줄 을 삭제 합 니 다.
/111/{
s/111/222/;
n;
/^$/d;
}
,next , 。
3.9 파일 읽 기
r file
w file , , 。
3.10 탈퇴 q sed 종료
111 sed /111/q file
3.11 ! 뒤의 명령 이 선택 되 지 않 은 모든 줄 에 작용 한 다 는 것 을 나타 낸다. 3.12 = 현재 줄 인쇄 3.13 \ # 주석 줄
고급 명령, sed 는 보통 모드 공간 까지 한 줄 씩 읽 고 스 크 립 트 의 명령 을 하나씩 실행 합 니 다. 스 크 립 트 가 끝 날 때 이 줄 을 출력 하고 모드 공간 을 비우 고 다음 줄 을 읽 습 니 다. 이렇게 순환 합 니 다. sed 의 다 중 모드 명령 은 한 번 에 여러 줄 을 읽 고 일치 하 는 처 리 를 할 수 있 습 니 다. 예 를 들 어 줄 을 뛰 어 넘 는 어 구 를 처리 할 수 있 습 니 다.
3.14 다 중 모드 공간 N D P 단일 줄 모드 에 대응 하 는 n d p
P ,p 。P N D 。
D , , , ,d ,
N ,
。
,^
$ 。 hello sed
, 。
ex1:
hello
sed
hello sed
/hello$/{
N;
s/hello
sed/hello sed/
}
ex2:
/^ *$/{
N;
/^ *
$/D;
}
D d, , 1 , d , D
, , , 。
3.15 유지 공간 을 사용 하여 모드 공간 내용 을 저장 하고 H. G. g. x 를 사용 하여 공간 을 유지 하 는 내용
, , , ,
hold h/H /
get g/G /
x
h , 。
H , , 。
g , 。
G , 。
3.16 분기 와 조건 명령 사용: b t T
(b) (T/t) 。 。
b [address] b [label] label , label 。
t [address] t [label] label , label 。 , test
(T) (t) [address] t [label] label , , test
T t s///
: , b label ,
b , , ,
/^ *$/{
:rdn
N;
/^\( *
*\)\{1,\}$/b rdn;
s/^\( *
*\)\{1,\}
/
/
}
t , , , , ,
/^ *$/{
:loop
N;
s/^\( *
*\)\{1,\}$//;
t loop
}
4.[options]
4.1 -e command, --expression=command 。
4.2 -h, --help , bug 。
4.3 -n, --quiet, --silent 。
4.4 -f, --filer=script-file sed 。
4.5 -V, --version 。
5. 메타 문자 집합
^ 1111 ,/^1111/
$ aaaa ,/aaaa$/
.
*
[] [123]k 1k 2k 3k
[^]
\(..\) , s/\(love\)able/\1rs,loveable lovers。
& , s/love/**&**/,love **love**。
\< , :/\ , /love\>/ love 。
x\{m\} x,m , :/0\{5\}/ 5 o 。
x\{m,\} x, m , :/o\{5,\}/ 5 o 。
x\{m,n\} x, m , n , :/o\{5,10\}/ 5--10 o 。
\+
\? 0 1
\| `REGEXP1\|REGEXP2' Matches either REGEXP1 or REGEXP2. 111 222 /111\|222/d
6. 그룹 구성 명령
sed , , 3~8 444 sed
3,8{
/444/{
s/444/333/
}
}
s/444/333/ , , , sed ,
; , a, 。 sed , , ,
, sed GNU sed 4.2.1 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.