내 입력 파일은
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0940 29343414 11 110005
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 2336 29843714 11 110006
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0940 29343214 11 110007
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 2336 29843914 11 110009
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 2336 7945414 11 110010
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0940 29343314 11 110013
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 2336 7945614 11 110015
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0941 29343514 11 110019
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 0941 7446214 11 110021
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 2336 7945814 11 110022
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 0941 7446414 11 110024
내 요구 사항은 출력이 다음과 같다는 것입니다
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0940 29343414 11 110005 0
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 2336 29843714 11 110006 0
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0940 29343214 11 110007 0
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 2336 29843914 11 110009 1
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 2336 7945414 11 110010 0
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0940 29343314 11 110013 2
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 2336 7945614 11 110015 1
DPortal=ECCN RemoteFile=4004_130122 0256 A02 141111 0941 29343514 11 110019 3
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 0941 7446214 11 110021 1
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 2336 7945814 11 110022 0
DPortal=ECCN RemoteFile=4004_120306 1232 A03 141111 0941 7446414 11 110024 1
즉, 마지막 열은 마지막 열의 다음 행에 -1의 값을 출력해야 한다. 즉, (n+1) -n -1 = 다음 열이다.
답변1
이 시도:
awk 'NR==1{last=$NF-1}{print $0,$NF-last-1; last=$NF}' file
첫 번째 줄에서는 시작하기 위해 last
마지막 필드의 값에서 1( )을 뺀 값으로 변수를 설정합니다 . $NF-1
나중에 이전 행의 값만 last
가져옵니다 .$NF