を使用してファイルからいくつかの値を出力していますawk
awk 'NR>1{print $20,$45,$102}' RS='vector'
それはそれらをうまく印刷しますが、残念ながら値は常にそのまま、つまり一緒に印刷されます:
1 8: 34
1 9: 32
:
値の後に削除する方法はありますか?
1 8 34
1 9 32
:
は列45に属していると思います。awkのsub()
機能で削除できます。
これを試して:
awk 'NR>1{sub(/:$/,"",$45); print $20,$45,$102}' RS='vector' file
入力ファイルを表示しなかったので推測ですが、必要なのは:
FSに含めることだけかもしれません。
awk 'NR>1{print $20,$45,$102}' FS='[[:space:]:]+' RS='vector'
printf 関数を使用して、数値としてフォーマットします。
awk 'NR>1{printf "%d %d %d\n", $20,$45,$102}' RS='vector'