行の最後の3つのフィールドを切り取り、マークの総数を印刷する方法

行の最後の3つのフィールドを切り取り、マークの総数を印刷する方法

次のcliで最後の3つのフィールドを切り取る方法

cat file.txt

出力

        Topic: __consumer_offsets       Partition: 0    Leader: 1002    Replicas: 1002,1001,1003        Isr: 1002,1003,1001
        Topic: __consumer_offsets       Partition: 1    Leader: 1003    Replicas: 1003,1002,1001        Isr: 1002,1003,1001
        Topic: __consumer_offsets       Partition: 2    Leader: 1001    Replicas: 1001,1003,1002        Isr: 1002,1003,1001
        Topic: __consumer_offsets       Partition: 3    Leader: 1002    Replicas: 1002,1003,1001        Isr: 1002,1003,1001

期待される出力

1002 1003 1001
1002 1003 1001
1002 1003 1001
1002 1003 1001

Number of tokens are : 12

私たちは成功しなかったので、次のことを試しました。

cat file.txt |awk '{print $NF-3,$NF-2,$NF-1}'

ベストアンサー1

フィールド区切り文字としてカンマとスペース文字を使用できます。

awk -F "[, ]" '{print $(NF-2),$(NF-1),$NF}' file

また、最終トークン記述を作成します。

awk -F "[, ]" '{print $(NF-2),$(NF-1),$NF;i++}END{print "Number of tokens are: " i*3}' file

おすすめ記事