Linux에서 Sed를 사용하는 방법

세드 스트림 편집기를 나타냅니다. Linux용 명령줄 기반 편집기입니다. 일반적인 편집기는 활성 사용자 입력이 필요하고 편집기 화면 외부에서 파일을 편집할 수 없기 때문에 sed는 Linux에서 자동화 스크립트의 일부로 파일을 편집하는 데 널리 사용됩니다. Sed는 명령줄에서 찾기 및 바꾸기를 수행하는 데 가장 일반적으로 사용됩니다.

이러한 유형의 텍스트 편집기는 비대화형 텍스트 편집기로 분류할 수도 있습니다.

Sed를 사용하여 파일을 편집하는 몇 가지 일반적인 옵션을 살펴보겠습니다. 다음 파일을 예로 들겠습니다.

$: cat test.txt 재빠른 갈색 개가 게으른 고양이를 뛰어 넘었습니다. 리눅스 운영 체제. 우리 집 근처 숲에는 고양이도 있고 늑대도 있다. 

검색 및 바꾸기

파일에서 문자열을 검색하고 다른 문자열로 바꾸려면 다음을 실행합니다.

sed -i "s/cat/fox/g" test.txt

여기서, -나 플래그는 변경 사항을 파일에 쓰도록 sed에 지시합니다. 이 깃발이 없으면 세드 변경된 문자열이 있는 파일만 표시합니다.

따옴표에서 우리는 s/고양이/여우/g. 그만큼 에스 의 검색 및 바꾸기 명령을 위한 것입니다. 세드. 그런 다음 검색할 문자열이 있습니다. 고양이. 그런 다음 대체할 문자열, 즉, 여우. 마지막으로 선택 사항이 있습니다. G, 지시하는 세드 파일의 모든 줄에 있는 모든 항목을 대체합니다. 없이 G, sed는 첫 번째 항목만 대체합니다. 고양이 모든 라인에.

여기에서도 정규식을 사용할 수 있습니다.

sed -i "s/f[a-z]*\./cat\./g"

끼워 넣다

일치하는 문자열이 있는 줄 앞에 텍스트를 삽입하려면 다음을 사용하십시오.

sed -i "/cat/i 시작:" test.txt

여기, 고양이 검색된 문자열이고 시작: 검색된 문자열이 있는 줄 앞에 입력할 문자열입니다.

마찬가지로 행 뒤에 텍스트를 삽입하려면 다음을 사용하십시오.

sed -i "/fox/a 끝." 테스트.txt

삭제

하위 문자열을 포함하는 행을 삭제하려면 다음을 사용하십시오.

sed -i "/리눅스/d" test.txt

줄 번호가 있는 줄을 삭제하려면, 예를 들어. 첫 번째 줄은 다음을 사용합니다.

sed -i '1d' test.txt

여러 기능 결합

여러 기능을 결합하려면, 예를 들면. 하나의 명령으로 검색 및 바꾸기, 삭제, -이자형 플래그를 사용할 수 있습니다.

sed -i -e "s/fox/cat/g" -e '2d' test.txt

? 건배!