関連列のみを表示

関連列のみを表示

次のコマンドがあります。

(head -1 invoice.txt  && sed '1d' invoice.txt |sort -rn -k4,4) |column -ts $'\t' |less -S
  • head -1最初の行を印刷します。
  • sed "1d'柔らかいものが混乱しないように、最初の行を削除します。
  • sort -rn -k4,4私のファイルを4番目の列にのみ並べ替える
  • column -ts $'\t'タブでファイルを分割
  • less -S端末から印刷する

最初、4番目、最後の列だけを印刷したいです。小さなファイルですが、このテンプレートを使用する14個の列を持つファイルと21個の列を持つファイルがあります。

現在の出力をパイプするためにcutawkまたは他のコマンドを使用する必要があるかどうかはわかりません。print

ベストアンサー1

最初、4番目、および最後のタブで区切られた列のみを表示し、2番目の列のデータはヘッダーを無視して数値でソートしようとします。

awk -F '\t' 'BEGIN { OFS=FS } { print $1, $4, $NF }' invoice.txt >tmpfile

{
    head -n 1 tmpfile
    sed '1d' tmpfile | sort -k 2,2rn
} | less -S

あるいは、一時ファイルを無視してすべてをawk複合コマンドにパイプすることもできます。必要に応じて前に{ ...; }追加してください。column -ts $'\t'less -S

おすすめ記事