Sed를 사용하여 파일에서 라인 삭제
이 Unix 명령은 명령 행 처리에 사용 됩니다. 이 유틸리티는 지정된 구분 기호 (쉼표, 탭 또는 공백), 줄 번호 또는 문자열, 표현식 또는 줄의 주소를 검색하여 식별 할 수있는 파일에서 표현식을 삭제하는 데 사용할 수 있습니다. Sed의 문법 .
Sed : 파일에서 하나 이상의 행 삭제
다음은 파일에서 하나 이상의 행을 제거하는 방법입니다.통사론
sed '[/] d'sed '{[/] [, ] [/] d'
/.../ = 구분 기호
n = 행 번호
문자열 = 문자열이 줄에서 발견되었습니다.
정규식 = 검색된 패턴에 해당하는 정규식
addr = 라인 주소 (숫자 또는 패턴)
d = 삭제
Sed의 예
다음은 위의 구문을 사용하는 방법에 대한 몇 가지 예입니다.세 번째 줄을 제거하려면 다음 코드를 사용하십시오.
sed '3d'fileName.txt
다음을 사용하여 문자열 "awk"가 포함 된 줄을 제거하십시오.
sed '/ awk / d'filename.txt
다음을 입력하여 마지막 행을 제거 할 수 있습니다.
sed '$ d'filename.txt
또는 다음을 통해 모든 빈 줄을 제거하십시오.
sed '/ ^ $ / d'filename.txtsed '/./!d'filename.txt
정규식으로 일치하는 줄을 제거합니다 (줄 끝에있는 디지털 문자가 하나 이상있는 문자를 제거하여 줄을 지 웁니다).
sed '/ [0-9 /] [0-9] * $ / d'filename.txt
7 번과 9 번 사이의 간격을 제거하십시오.
sed '7d'filename.txt
위와 동일한 작업이지만 주소를 매개 변수로 바꾸기 :
sed '/ -Start /, / - End / d'filename.txt
위 예제는 파일 표시시에만 변경됩니다 (stdout1 = screen).
구 버전 (<4)을 영구적으로 변경하려면 "-i [suffix]"를 사용하여 GNU sed 용 임시 파일을 사용하십시오.
sed -i ".bak" '3d'filename.txt