sed 명령 학습 노트
sed 는 비 대화 형 편집기 입 니 다.셸 을 사용 하여 결 과 를 저장 하지 않 는 한 파일 을 수정 하지 않 습 니 다.기본적으로 모든 출력 줄 이 화면 에 인쇄 됩 니 다.
sed 편집기 에서 파일 (또는 입력) 을 한 줄 씩 처리 하고 결 과 를 화면 에 보 냅 니 다.구체 적 인 과정 은 다음 과 같 습 니 다. 먼저 sed 는 현재 처리 하고 있 는 줄 을 임시 캐 시 영역 에 저장 한 다음 임시 버퍼 의 줄 을 처리 하고 완 료 된 후에 이 줄 을 화면 에 보 냅 니 다.sed 한 줄 을 처리 할 때마다 임시 버퍼 에서 삭제 한 다음 다음 줄 을 읽 고 처리 하고 표시 합 니 다.입력 파일 의 마지막 줄 을 처리 한 후 sed 는 실행 을 끝 냅 니 다.sed 는 모든 줄 을 임시 버퍼 에 저장 하고 이 복사 본 을 편집 하기 때문에 원본 파일 을 수정 하지 않 습 니 다.
2. 주소 지정
주 소 를 정 하 는 것 은 어떤 줄 을 편집 할 지 결정 하 는 데 쓰 인 다.주소 의 형식 은 숫자, 정규 표현 식 또는 이들 의 결합 일 수 있 습 니 다.
주소 가 숫자 라면 줄 번 호 를 표시 합 니 다. "$"라면 마지막 줄 을 표시 합 니 다. 예 를 들 어:
#
sed -n '3p' example
# 10 30
sed -n '10,30p' example
# 10
sed -n '10,$' example
# “first” “python”
sed -n '/first/,/python/p' example
# “linux” 10
sed ‘/linux/,10d’ example
# example test
sed '/test/'d example
3 명령 과 옵션
sed 명령 은 sed 에 게 주소 가 지정 한 각 입력 줄 을 어떻게 처리 하 는 지 알려 주 고 지정 한 주소 가 없 으 면 모든 입력 줄 을 처리 합 니 다.
3.1 sed 명령
명령 하 다.
기능.
a\
현재 줄 뒤에 한 줄 또는 여러 줄 을 추가 합 니 다. 여러 줄 일 때 마지막 줄 을 제외 하고 줄 끝 마다 "\"줄 을 계속 사용 해 야 합 니 다.
c\
이 기호 뒤에 있 는 새 텍스트 로 현재 줄 의 텍스트 를 바 꿉 니 다. 여러 줄 의 경우 마지막 줄 을 제외 하고 줄 의 끝 에 "\"줄 을 연결 해 야 합 니 다.
i\
현재 줄 앞 에 텍스트 를 삽입 합 니 다. 여러 줄 일 때 마지막 줄 을 제외 하고 줄 끝 마다 "\"줄 을 계속 사용 해 야 합 니 다.
d
줄 삭제
h
모드 공간의 내용 을 임시 저장 버퍼 로 복사 합 니 다.
H
모드 공간 에 있 는 내용 을 임시 저장 버퍼 에 추가 합 니 다.
g
임시 저장 버퍼 의 내용 을 모드 공간 으로 복사 하여 원래 의 내용 을 덮어 씁 니 다.
G
임시 저장 버퍼 의 내용 을 모드 공간 에 추가 하여 원래 내용 의 뒤에 추가 합 니 다.
l
인쇄 되 지 않 은 문자 목록
p
인쇄 줄
n
다음 입력 줄 을 읽 고 첫 번 째 명령 이 아 닌 다음 명령 부터 처리 합 니 다.
q
종료 혹은 종료 sed
r
파일 에서 입력 줄 읽 기
!
선택 한 줄 이외 의 모든 줄 에 명령 적용
s
다른 문자열 을 문자열 로 대체 합 니 다.
g
줄 내 전역 교체 진행
w
선택 한 줄 을 파일 에 쓰기
x
임시 저장 버퍼 와 패턴 공간의 내용 을 교환 합 니 다.
y
문 자 를 다른 문자 로 바 꿉 니 다 (정규 표현 식 에 y 명령 을 사용 할 수 없습니다)
3.2 sed 옵션
옵션
기능.
-e
여러 개의 sed 명령 을 입력 줄 에 적용 할 때 사용 하 는 여러 편집 을 진행 합 니 다.
-n
기본 출력 취소
-f
sed 스 크 립 트 의 파일 이름 지정
4 범례
# tt a mytest
sed 's/a/mytest/g' tt
# tt a you
sed 's/a/you/g' tt
# g , test mytest。
#
sed '1,2s/a/you/g' tt
# -e 。
sed -e '1,10d' -e 's/My/Your/g' tt
# 1-10 。 My Your。
# ( ), 。
# ,
sed '/a/r tt1' tt
# tt a, tt1
# tt1
sed '/a/w tt1' tt
# tt , “a” “v” mytest
sed '/a/{n;s/v/mytest/;}' tt
# tt a, “you”
sed 's/a/&you/g' tt
sed '1,20y/hrwang12/HRWANG^$/'
# 1 20 , hrwang , 1 ^, 2 $。
# y 。 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.