샘플 입력은
1
2
3
4
5
6
7
8
9
예상 출력은 다음과 같습니다.
1
2
3
---
4
5
---
6
7
8
---
9
답변1
일방 통행:
cat -s file | sed 's/^$/---/'
고양이 매뉴얼 페이지에서:
-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'