マインドマップギャラリー Sed 명령 약어
소개 및 구문, 옵션, 명령, 메타 문자 세트 등을 포함하는 Sed 명령 약어에 대한 마인드 맵입니다. 도움이 되길 바랍니다!
2023-11-23 12:09:46 に編集されましたSed 명령 약어
소개 및 문법
설명: 스트림 편집기 - 스트림 편집기, 텍스트 필터링 및 형식화된 대체 출력을 수행합니다. sed에는 두 개의 내장 저장 공간이 있습니다: 1) 명령을 실행한 후 패턴 공간이 지워집니다. 2).보류 공간은 기본적으로 지워지지 않습니다.
명령 형식: sed [options] -f scriptfile files #여러 파일 지원 sed [옵션] '[주소 범위|패턴 범위] s#{교체된 문자열}#{교체된 문자열}#{교체 플래그}' [입력 파일]
다중 표현식: sed 'expression' | sed 'expression' #다음 sed 문과 동일 sed '표현식'
옵션
-i: 화면 출력이 아닌, 데이터를 읽어온 파일의 내용을 직접 수정합니다. (소스 파일에 직접 추가 또는 백업)
-r: 확장된 표현식을 지원합니다. sed에서 ()를 이스케이프하기 위해 \()를 사용할 필요가 없습니다.
-f <스크립트 파일> 또는 --file=<스크립트 파일>: #옵션에 지정된 스크립트 파일로 입력 텍스트 파일을 처리합니다.
-n 또는 --quiet 또는 --silent: #기본 출력을 취소하고 스크립트 처리 후 결과만 표시하고 화면에 출력합니다.
-e <script> 또는 --expression=<script>: # 옵션에 지정된 스크립트를 사용하여 입력 텍스트 파일을 처리하고 여러 sed 명령을 실행합니다.
명령[명령]
작업 추가
a 현재 줄의 다음 줄에 텍스트를 추가합니다. 나는 현재 줄에 텍스트를 삽입한다
삭제 작업
d 선택한 행 삭제 D 템플릿 블록의 첫 번째 줄을 삭제합니다.
작업 변경
s는 지정된 문자를 대체합니다. 일반적으로 정규식과 함께 사용되며 구분 기호를 사용자 정의할 수 있습니다. c 선택한 줄을 새 텍스트로 변경합니다.
작동 확인
n 입력의 다음 줄을 읽고 첫 번째 명령 대신 다음 명령으로 새 줄을 처리합니다. N 템플릿 블록 뒤에 다음 입력 라인을 추가하고 그 사이에 새 라인을 삽입하여 현재 라인 번호를 변경합니다.
p는 템플릿 블록의 행을 인쇄합니다.
파일 저장 및 읽기
w 파일은 템플릿 블록을 파일 끝에 쓰고 추가합니다. W 파일은 템플릿 블록의 첫 번째 줄을 파일 끝에 쓰고 추가합니다.
r 파일은 파일에서 줄을 읽습니다.
라인 번호 및 역방향 획득
= 현재 줄 번호를 인쇄합니다.
! 다음 명령이 선택되지 않은 모든 행에 적용됨을 나타냅니다.
교체 플래그
처리를 시작할 문자 결정, 1-512 숫자 표시
대체/일치/찾기에 대한 대소문자는 무시합니다.
g는 라인 내에서 전체 교체를 의미합니다.
p는 인쇄 라인을 의미하며 종종 -n과 함께 사용됩니다.
대소문자 변환: \l \L \u \U 즉 하위/상위
y: g 추가 여부에 관계없이 일치하는 문자열을 대문자와 소문자로 변환합니다.
e 명령 플래그 실행, 패턴 공간의 모든 콘텐츠를 bash 명령으로 실행합니다(공백에 유의하세요).
일반 일치 용도: \1 하위 문자열 일치 태그 및 일치하는 문자열 태그
w는 파일에 줄을 쓰는 것을 의미합니다. x는 템플릿 블록의 텍스트를 버퍼의 텍스트로 바꾸는 것을 의미합니다.
메타문자 세트
참고: sed에는 숫자와 문자를 나타내는 \d \w 메타 문자가 없으며 다음 메타 문자만 있습니다.
^는 다음과 같이 줄의 시작 부분과 일치합니다. /^sed/는 sed로 시작하는 모든 줄과 일치합니다. $는 다음과 같이 줄의 끝과 일치합니다. /sed$/는 sed로 끝나는 모든 줄과 일치합니다. . 개행 문자가 아닌 모든 문자와 일치합니다. 예: /s.d/는 s 다음에 임의의 문자가 오는 것과 일치하고 마지막으로 d와 일치합니다. * 다음과 같이 0개 이상의 문자와 일치합니다. /*sed/ 템플릿이 하나 이상의 공백 뒤에 sed가 있는 모든 줄과 일치합니다. []는 지정된 범위 내의 문자와 일치합니다. 예를 들어 /[ss]ed/는 sed 및 Sed와 일치합니다. [^]는 지정된 범위 내에 있지 않은 문자와 일치합니다. 예: /[^A-RT-Z]ed/는 A-R 및 T-Z를 포함하지 않는 문자로 시작하고 뒤에 ed가 오는 줄과 일치합니다. \(..\)는 하위 문자열과 일치하고 s/\(love\)able/\1rs와 같이 일치하는 문자를 저장합니다. loveable은lovers로 대체됩니다. &는 s/love/**&**/와 같은 다른 문자를 대체하기 위해 검색 문자를 저장합니다. 사랑은 **사랑**이 됩니다. \<는 단어의 시작 부분과 일치합니다. 예:/\<love/는 love로 시작하는 단어가 포함된 행과 일치합니다. \> /love\>/와 같은 단어의 끝과 일치합니다. love로 끝나는 단어가 포함된 행과 일치합니다. x\{m\}은 문자를 x, m번 반복합니다. 예: /0\{5\}/는 5개의 0이 포함된 줄과 일치합니다. x\{m,\}는 문자 x를 최소 m번 이상 반복합니다. 예: /0\{5,\}/는 0이 5개 이상 있는 행과 일치합니다. x\{m,n\}은 문자를 반복합니다.
고전적인 예
삭제 명령 d
sed -ri '3d' file //파일의 세 번째 줄을 삭제합니다.
sed -ri '/root/d' file //정규식과 일치하는 루트가 포함된 줄을 삭제합니다.
sed -ri '/root/,5d' file //루트가 포함된 정규 일치 줄부터 시작하여 5번째 줄까지 내용을 삭제합니다.
sed -ri '/root/, 5d' file //정규식과 일치하는 루트가 포함된 줄부터 내용을 삭제하고 5줄을 추가합니다.
sed -ri '/root/,!d' file //정규식과 일치하는 루트가 포함된 줄 이외의 줄을 삭제합니다.
명령 바꾸기
sed -ri 's/root/alice/' passwd //passwd 파일의 첫 번째 루트를 alice로 바꿉니다.
sed -ri 's/root/alice/g' passwd //passwd 파일의 모든 루트를 alice로 바꿉니다.
파일 읽기 명령 r
sed -r '/root/r /etc/hosts' passwd //passwd 파일의 루트 문자열을 일치시킨 후 /etc/hosts 파일을 읽습니다.
파일 쓰기 명령 w
명령 추가
지정된 줄 뒤에 줄을 추가합니다.
sed -r '2a i love you' passwd //passwd 파일의 두 번째 줄 뒤에 i love you 줄을 삽입합니다.
지정된 줄 앞에 i 줄을 삽입합니다.
sed -r '2i i love you' passwd //passwd 파일의 두 번째 줄 앞에 i love you 줄을 삽입합니다.
수정 명령 c
sed -r '3c\좋아요! ' passwd //세 번째 줄을 I like this!로 바꿉니다.
sed -r '/daemon:/c\좋아요! ' passwd //정규적으로 일치하는 줄을 찾아 I like this!로 바꿉니다.
다음 명령을 얻습니다. n
옵션을 부정하세요!
보충 지식
l(소문자 l) 특수 문자(줄 끝 및 탭 표시)를 인쇄하고 표시합니다.
특수 기호 {} {}로 묶인 명령은 순서대로 실행되며, 이전 명령이 후속 명령에 영향을 미칩니다.
sed 스크립팅
한 줄에 하나의 sed 표현식