
샘플 입력은 다음과 같습니다.
1
2
3
4
5
6
7
8
9
예상 출력은 다음과 같습니다.
1
2
3
---
4
5
---
6
7
8
---
9
답변1
일방 통행:
cat -s file | sed 's/^$/---/'
cat의 매뉴얼 페이지에서 :
-s, --squeeze-blank
never more than one single blank line
cat
빈 줄을 짜내고 나면 sed
공백을 다음으로 바꿉니다.---
답변2
AWK의 다중 라인 레코드 기능(널 RS)을 사용하는 POSIX 호환 접근 방식:
awk 1 RS= ORS='\n---\n' file
맨 끝에 있는 "---" 줄을 제외하면 원하는 출력과 동일한 출력이 생성됩니다. 불일치가 허용되지 않는 경우 sed 필터를 사용하여 제거할 수 있습니다.
... | sed '$d'