sed
그럴 거라고 이해 해요
- 해당 가능모두1행에 대한 설명, 그다음 2행에 대한 설명...
- 이전 지침은 변경될 수 있습니다.패턴 공간따라서 다음 명령어는 수정된 패턴 공간(원본 텍스트 대신)에서 실행됩니다.
예는 다음과 같습니다:
샘플 .txt 파일
pig cow
주문하다
sed -e 's/pig/cow/; s/cow/horse/;' sample.txt
예상 출력
horse horse
실제 출력
horse cow
내 예상 결과의 이유는 다음과 같습니다.
- 첫 번째 명령어가 대체됩니다.돼지그리고젖소내부에패턴 공간
- 두 번째 명령어는 2로 대체됩니다.돼지2로말에 있습니다패턴 공간
답변1
기본적으로 교체 명령은 s
교체만 수행합니다.첫 번째다음과 같이 닫는 구분 기호를 바꾼 후 특정 플래그를 사용하지 않는 한 일치합니다.
sed -e 's/pig/cow/g; s/cow/horse/g' <sample.txt
이 g
플래그는 sed
정규식과 겹치지 않는 일치 항목에 대해 가능한 한 많이 교체를 반복하도록 지시합니다.
이 명령에 대한 또 다른 플래그 세트 s
(여기서는 적용되지 않지만 알아두면 유용할 수 있음)는 아래와 같이 패턴의 n번째 발생을 대체하는 데 선택적으로 사용할 수 있는 한 자리 플래그입니다.
sed -e 's/a/A/3'
위의 코드는 각 줄의 세 번째 입력을 a
1로 변경합니다.A
자세한 내용은 sed
시스템 설명서( )를 참조하십시오.man sed