728x90
sed 편집기를 이용하여 텍스트 파일의 빈 줄들을 제거하는 방법
0. 예제에서 사용할 파일
$ sed -n 'p' example.txt
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
MELON apple apple apple apple
1. 빈 줄 제거하기
$ sed '/^$/d' example.txt
a. d 명령(delete)을 사용해서 빈줄이 나타나는 줄을 삭제함
$ sed '/^$/d' example.txt
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
MELON apple apple apple apple
- 파일의 모든 빈 줄이 삭제됨
2. 시작 부분의 빈 줄 지우기
$ sed '/./,$!d' example.txt
a. 주소를 사용해서 sed 편집기가 처리할 부분을 할당
- /./
: 문자를 포함한 한 줄
- $
: 데이터 스트림의 끝
- /./,$
: 문자를 포함한 한 줄 (문자가 시작하는 첫번째 줄)부터 파일의 끝까지가 범위
b. !d
: 주소 부분을 제외한 나머지를 삭제
- 즉, 문자가 시작하는 첫번째 줄 이하의 빈칸은 삭제된다.
$ sed '/./,$!d' example.txt
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
MELON apple apple apple apple
- 앞에 있던 빈줄은 삭제되었지만, 맨 뒤에 있는 빈 줄은 삭제되지 않음
3. 끝에 있는 빈 줄을 삭제
$ sed '{
:start
/^\n*$/{$d; N; b start}
}' example_file
Example
$ sed '{
:start
/^\n*$/{$d; N; b start}
}' example.txt
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
apple apple apple apple apple
MELON apple apple apple apple
- 파일의 뒷 부분의 빈 줄만 삭제됨
728x90
'컴퓨터 & IT (Computer & IT) > Linux' 카테고리의 다른 글
[linux] 파티션 추가하는 방법 (0) | 2023.09.04 |
---|---|
[Linux] 리눅스 히스토리 시간 출력 포멧 (0) | 2023.07.01 |
[Linux/sed] html 태그 없애기 (0) | 2021.07.02 |
[Linux] 리눅스 파일 권한 이해하기 (0) | 2021.06.26 |
[Linux] 모니터링과 관련된 명령어 (du, df) (0) | 2021.06.26 |
댓글