Sed를 사용하여 파일에서 라인 삭제

Unix 유틸리티 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.txt

sed '/./!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 
이전 기사 다음 기사

톱 팁