마지막 행 위에 새 행을 만들고 내용을 추가하세요.

마지막 행 위에 새 행을 만들고 내용을 추가하세요.

반대쪽과 마찬가지로 awk 'NR==2 {print ""} 1첫 번째 줄 아래에 새 줄을 추가하고 거기에 있는 내용을 모두 인쇄합니다. NR==여러 줄을 포함하여 파일에서 이 작업을 수행할 수 있기를 원하기 때문에 다음 숫자를 고정 값으로 바꿀 수 없습니다 . 내 말은 행 수를 계산한 다음 두 번째에서 마지막 행의 수인 변수를 생성하는 작업을 수행할 수 있지만 "바퀴를 재발명"하고 싶지는 않다는 뜻입니다.

입력 예:

1
2
3
4

출력 예:

1
2
3
something added here
4

답변1

한 줄씩 인쇄를 지연한 다음 END블록을 사용할 수 있습니다.

awk 'NR > 1 {print line} {line = $0} END {printf "%s\n%s\n", "something added here", line}'

현재 줄을 저장 line하고 다음 반복에서 인쇄합니다. END따라서 line이 블록의 마지막 줄은 아직 인쇄되지 않았습니다.

$ printf "%s\n" {1..4} | awk 'NR > 1{print line} {line = $0} END {printf "%s\n%s\n", "something added here", line}'
1
2
3
something added here
4

관련 정보