SED는 Stream Editor라고도 알려져 있으며 매우 유용한 도구입니다. 특정 단어나 패턴을 검색한 다음 해당 단어나 패턴에 대해 일부 작업을 수행하거나, 즉 변환하는 데 사용됩니다. Windows에서 SED는 찾기 및 바꾸기 기능이라고도 합니다. SED는 기본적으로 Ubuntu와 함께 제공되므로 설치할 필요가 없습니다. 이 튜토리얼에서는 SED 또는 Stream Editor를 사용하는 방법을 보여줍니다.
SED 또는 스트림 편집기에서 가장 중요한 명령은 "s" 명령입니다. "s"는 대체를 의미합니다. 구문은 다음과 같습니다:
/regexp/replacement/플래그
그러면 “file.txt”라는 파일을 예로 들어보겠습니다. "file.txt"를 따라가면 다음과 같이 보입니다.
“S” 명령이 어떻게 작동하는지 예를 들어 보겠습니다.
SED'S/첫번째/달/나'file.txt>moon.txt
이런 표현이 주어지면 다음을 의미합니다.
file.txt에서 검색
SED에서는 첫 번째 경우에만 "first"라는 단어를 "moon"으로 바꿉니다(즉, "first"가 여러 번 나타나는 경우 첫 번째만 대체됩니다). 이 명령은 "file.txt"라는 파일에서 검색하고 교체가 완료되면 결과가 "moon.txt" 파일에 저장됩니다.
다음과 같습니다:
필요한 곳에 "/"를 꼭 넣어주세요. "/"가 생략되면 SED는 명령을 승인하지 않습니다.
지금까지는 '처음'이라는 단어만 '만남'이라는 단어로 대체했습니다. 이제 세 번째 줄의 "line"이라는 단어(여러 번, 구체적으로 4번 나타남)를 "Angel"이라는 단어로 바꾸고 싶다고 가정해 보겠습니다.
세 번째 라인을 구체적으로 어떻게 타겟팅하나요? 다음 명령을 사용합니다:
SED‘3S/Line/Angel/I’file.txt>angel.txt
그럼 여기서 무슨 일이 일어났나요? 좋습니다. "3"은 줄 번호를 지정합니다. 그래서 세 번째 줄이 나왔습니다. 그런 다음 "file.txt"라는 파일에서 "angel.txt"를 "line"으로 바꾸고 변환된 파일을 "angel.txt"로 저장합니다.
행 "3"과 "4"를 바꾸거나 변환하려면 어떻게 해야 하나요?
Sed'3,4s/line/Angel/I'file.txt>angel2.txt
이전 예에서는 무시를 나타내기 위해 "i" 플래그를 사용했습니다. 이제 "g" 플래그를 사용하여 전역을 나타냅니다.
“s” 명령이 어떻게 작동하는지 예를 들어 보겠습니다.
sed's/line/sun/g 'file.txt>
이런 표현이 주어지면 다음을 의미합니다.G는 글로벌을 의미합니다. 첫 번째 예에서 "i" 플래그를 사용했을 때 대체 항목은 하나만 있었다는 점을 기억하세요. global에 "g"를 추가했기 때문에 이는 어디에나 대안이 있다는 것을 의미합니다. 따라서 첫 번째 행, 두 번째 행, 세 번째 행, 마지막 행을 말하는 대신 첫 번째 태양, 두 번째 태양, 세 번째 태양 및 마지막 태양을 말합니다. 전체 파일의 단어 줄(모든 위치)을 "sun"이라는 단어로 바꿉니다.
이제 포함된 단어를 기반으로 줄을 선택하려면 어떻게 해야 할까요? 자, "file.txt"의 마지막 줄에 "last"라는 단어가 있는 것을 볼 수 있습니다. 이제 "This is the last line"을 원한다고 가정해 보겠습니다. 이것이 마지막 말이다." "마지막 유령이다. 이것이 마지막 말입니다."
Sed'/last/S/line/host/'file.txt>.ghost.txt
여기서 "last"는 SED에게 "last"라는 단어가 포함된 줄을 찾은 다음 해당 줄 내에서 "line"이라는 단어를 "ghost"로 바꾸도록 지시합니다.
이제 그 반대를 하고 싶다고 가정해 보겠습니다. "last"라는 단어가 없는 모든 줄에서 "line"이라는 단어가 "host"로 변경되기를 원한다고 가정해 보겠습니다. 다음을 작성해 봅시다:
여기에서 볼 수 있듯이 마지막 줄("last"라는 단어 포함)을 제외한 모든 줄에는 "ghost"라는 단어가 "line"이라는 단어로 대체되어 있습니다.
줄 번호를 사용하여 이 작업을 수행할 수도 있습니다.
이 경우 3행과 4행은 생략되지만, 다른 모든 행에는 "line"이라는 단어가 "night"라는 단어로 대체됩니다.
첫 번째를 낮으로, 두 번째를 밤으로, 휴식을 유령으로 바꾸고 싶다면 어떻게 해야 할까요? 세미콜론을 사용하여 이를 수행합니다. 마지막에 세미콜론을 넣는 것을 잊지 마세요!
"i" 기호나 "무시" 기호를 넣을 필요는 없지만 변환 문구 뒤에 슬래시(/)를 넣어야 한다는 점에 유의하세요.
이제 예를 들어 확인해 보겠습니다.
sed's/first/day/;s/second/night/;s/third/ghost/;s/last/ghost/;'file.txt>
즐거운 코딩하세요!
위 내용은 스트림 편집기(SED): 기본 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!