私は次の形式で表示されるデータのテキストファイルを持っています。awk - 3列形式の出力を出力する
apropos c
awk nc
chsh c
date nc
grep nc
i3 nc
ip6tables nc
このデータをawkでフィルタリングして、次のような3列形式を生成しようとしています。
apropos awk chsh
date grep i3
ファイルの2番目の列は必要ありませんが、最初の列の整列した出力がきれいです。私は次のコードを見つけ出し、データの最初の列だけを出力するよう少し修正しました。問題は、タブの使用のために整列がずれてしまうことです。
awk '{printf (NR %3 == 0)? $1 "\n" : $1"\t\t" }'
もう少し研究をやって、私は(すなわち。 "%-10s")はawkのprintf関数を介した幅の使用を発見しました。唯一の問題は、私がそれを自分のコマンドにどのように統合して、それが私が望むことができるのかがかなり分かっていないことです。どんな助けもありがとう、ありがとう!
'ip6tables'を3の倍数ではないので出力に表示しませんか? –
出力する最初の列をすべて探しています。それに関係なく、3の倍数です。 – barefly
あなたの期待する出力を表示してください。 –