awk は単語間の空白により出力を変更します。

awk は単語間の空白により出力を変更します。

awk は単語間の空白により出力を変更します。

例:「ローカルアドレス」はawkそれぞれローカルとアドレスを考慮します。

# netstat -antulp | awk 'NR>1'
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1115/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1397/sshd
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1271/cupsd
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1473/master
tcp        0      0 0.0.0.0:55547               0.0.0.0:*                   LISTEN      1133/rpc.statd

出力は次のようになります。$4 $5 $6

Local Address   Foreign Address  PID/Program name
0.0.0.0:111     0.0.0.0:*         1115/rpcbind
0.0.0.0:22      0.0.0.0:*         1397/sshd
127.0.0.1:631   0.0.0.0:*         1271/cupsd
127.0.0.1:25    0.0.0.0:*         1473/master
0.0.0.0:55547   0.0.0.0:*         1133/rpc.statd

ベストアンサー1

awkマニュアルから:

awkユーティリティは各入力レコードを一連のフィールドとして解釈する必要があり、デフォルトではフィールドは文字列ではありません。スペースいいえ新しいチーム数値。このデフォルトスペースそして新しいチームフィールド区切り文字は、FS組み込み変数または-F sepstringオプションを使用して変更できます。

「-F」オプションを使用するか、awkコードでFSオプションを設定して動作を変更できます。

awk 'BEGIN{FS="\t"} {print $1 $2 $3}'

netstatがどのように出力するかについては答えられません。 :)

おすすめ記事