![입력 파일의 두 줄마다 빈 줄(이중 간격)을 추가하여 입력 파일을 출력 파일로 분류하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/100113/%EC%9E%85%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%91%90%20%EC%A4%84%EB%A7%88%EB%8B%A4%20%EB%B9%88%20%EC%A4%84(%EC%9D%B4%EC%A4%91%20%EA%B0%84%EA%B2%A9)%EC%9D%84%20%EC%B6%94%EA%B0%80%ED%95%98%EC%97%AC%20%EC%9E%85%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%B6%9C%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EB%B6%84%EB%A5%98%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
SED를 사용하지 않고 입력 파일의 내용을 출력 파일로 복사하여 입력 파일의 두 줄마다 빈 줄(이중 간격)을 추가하는 쉘 스크립트가 있습니까? 나
답변1
IFS=""
while read -r LINE
do
echo "$LINE"
echo
done
마지막 줄 뒤에 빈 줄을 추가하는 것이 귀찮다면 다음과 같이 할 수 있습니다.
IFS=""
FIRST=y
while read -r LINE
do
if [ "$FIRST" != "y" ]
then
echo
fi
FIRST=n
echo "$LINE"
done
답변2
이것은 당신이 추구하는 것을 달성하는 것 같습니다.
NR(줄 번호)이 2로 나누어지면 끝에 추가 개행 문자가 표시됩니다. 그런 다음 라인을 인쇄하십시오.
$ awk 'NR%2==0{$0=$0"\n"}1' foo.txt
line1
line2
line3
line4
line5
$
각 줄 사이에 빈 줄이 있으면 다음을 사용하십시오.
$ awk '{print $0,"\n"}' foo.txt
line1
line2
line3
line4
line5
$