입력 파일의 두 줄마다 빈 줄(이중 간격)을 추가하여 입력 파일을 출력 파일로 분류하려면 어떻게 해야 합니까? [복사]

입력 파일의 두 줄마다 빈 줄(이중 간격)을 추가하여 입력 파일을 출력 파일로 분류하려면 어떻게 해야 합니까? [복사]

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

$

관련 정보