'sed'를 사용하여 [중복] 찾기 및 바꾸기

'sed'를 사용하여 [중복] 찾기 및 바꾸기

나는 이 질문이 아마도 이전에 답변되었을 것이라는 것을 알고 있습니다. 나는 여러 곳에서 이에 대한 많은 스레드를 보았지만 일반적으로 대답을 추출하기가 어렵습니다. '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:글로벌

에스:대리자

-나: 실시간 파일 작업제자리에

관련 정보