私は単に列と次のデータを印刷したいと$4
思います$NF
。
000 0 00 NUL '\0' (null character) 100 64 40 @
001 1 01 SOH (start of heading) 101 65 41 A
002 2 02 STX (start of text) 102 66 42 B
003 3 03 ETX (end of text) 103 67 43 C
004 4 04 EOT (end of transmission) 104 68 44 D
005 5 05 ENQ (enquiry) 105 69 45 E
006 6 06 ACK (acknowledge) 106 70 46 F
007 7 07 BEL '\a' (bell) 107 71 47 G
010 8 08 BS '\b' (backspace) 110 72 48 H
これにより、次のような結果が得られます。
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
@
A
B
C
D
E
F
G
H
最初のジョブが完了するのを待ってから、awk
次の列の印刷を実行します。
私は試した:
awk '{print $4} {print $NF}'
しかし、これは明らかにそれらを1つずつ印刷して、すべて一緒に混ぜることです。
よりよく理解し、いたずらするために努力していますawk
。ご了承ください。
ベストアンサー1
AFAIK、この値を保存してブロック$NF
として印刷する必要がありますEND
awk '{a[NR] = $NF; print $4} END{for(i=1;i<=NR;i++) print a[i]}' file
または、ファイルに対して2回のパスを実行します。
awk 'NR==FNR {print $4; next} {print $NF}' file file