!['sed'를 사용하여 [중복] 찾기 및 바꾸기](https://rvso.com/image/56986/'sed'%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%5B%EC%A4%91%EB%B3%B5%5D%20%EC%B0%BE%EA%B8%B0%20%EB%B0%8F%20%EB%B0%94%EA%BE%B8%EA%B8%B0.png)
나는 이 질문이 아마도 이전에 답변되었을 것이라는 것을 알고 있습니다. 나는 여러 곳에서 이에 대한 많은 스레드를 보았지만 일반적으로 대답을 추출하기가 어렵습니다. 'sed' 명령의 사용 예에 대한 도움을 찾고 있습니다.
"hello.txt" 파일(프롬프트와 동일한 디렉토리에 있음)에 대해 작업을 수행하고 싶다고 가정해 보겠습니다. "few"라는 문구가 포함된 경우 "asd"로 변경해야 합니다. 명령은 어떤 모습일까요?
답변1
sed
은에스트램에드이토르, |
(파이프)를 사용하여 보낼 수 있다는 점에서표준 스트림(특히 STDIN 및 STDOUT) sed
프로그래밍 방식으로 즉석에서 이를 통해 변경하여 Unix 철학 전통에서 편리한 도구로 만듭니다. 하지만 아래에 언급된 매개변수를 사용하여 파일을 직접 편집할 수도 있습니다 -i
.
다음을 고려하세요:
sed -i -e 's/few/asd/g' hello.txt
s/
에 사용된다에스발견된 표현식을 few
다음으로 대체하십시오 asd
.
소수, 용감한.
Asd, 용감한.
/g
"global"은 전체 라인에 대해 이 작업을 수행한다는 의미입니다. /g
(를 사용하면 s/few/asd/
무슨 일이 있어도 항상 3개의 슬래시가 필요함)를 생략하고 few
같은 줄에 두 번 나타나면 첫 번째 슬래시만 다음 few
으로 변경됩니다 asd
.
소수의 남자, 소수의 여자, 용감한 자.
asd 남자, 소수의 여자, 용감한.
이는 줄 시작 부분의 특수 문자를 변경하는 것과 같은 일부 상황에서 유용합니다(예를 들어 일부 사람들이 이메일 스레드에서 이전 자료를 인용하는 데 사용하는 보다 큼 기호를 가로 탭으로 대체하고 줄 후반에 인용된 대수적 부등식을 남겨 두는 경우). 그대로), 그러나 귀하가 지정하는 예에서는어딘가에 few
발생하면 교체해야 합니다 /g
. 해당 제품이 있는지 확인하십시오.
다음 두 가지 옵션(플래그)은 하나로 결합됩니다 -ie
.
-i
옵션은 편집에 사용됩니다나n 파일에 넣습니다 hello.txt
.
-e
옵션은이자형실행할 xpression/명령(이 경우 s/
.
-i -e
참고: 검색/교체에 사용하는 것이 중요합니다 . 그렇게 하면 -ie
문자 'e'가 추가된 모든 파일의 백업을 생성하게 됩니다.
답변2
sed -i 's/fea/asd/g' hello.txt
g:글로벌
에스:대리자
-나: 실시간 파일 작업제자리에