세드
스트림 편집기를 나타냅니다. 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
? 건배!