0

私が使用している基本的なカット構文は次のとおりです。

[jay@webserver ~]$ ss -tn
State      Recv-Q Send-Q                                  Local Address:Port                                                 Peer Address:Port              
ESTAB      0      52                                      xxx.xx.xx.xx:xx                                                  xxx.xx.xx.xx:xx              
ESTAB      0      232                                     xxx.xx.xx.xx:xx                                                 xxx.xx.xx.xx:xx     

しかし、フィールドを切り取ろうとすると、適切な出力が得られません。

[jay@webserver ~]$ ss -tn | grep -v State | cut -d$'\t' -f3,4
ESTAB      0      36     xxx.xx.xx.xx:xx                 xxx.xx.xx.xx:xx              
ESTAB      0      68     xxx.xx.xx.xx:xx                 xxx.xx.xx.xx:xx  

私が考えることができる唯一のことは、区切り文字がタブではないということですが、その場合、どうすれば必要な出力を得ることができますか?

4

4 に答える 4

0

これは私のマシンで動作します。基本的には、8個のスペースをそれぞれタブに変更し、残りのスペースを削除します。

ss -tn | unexpand -t 8 | tr $'\t' '|' |tr -d [:blank:] | tr '|' $'\t' | expand -t 1 | cut -f4- -d ' '

またはこれ:

ss -tn | expand -t 1 | unexpand -t 8 | cut -f4- -d$'\t'
于 2016-08-28T23:15:53.113 に答える