f1
解凍した2つのファイルを次の1つf2
のコマンドにマージしたいと思います。
paste (zcat f1.gz) (zcat f2.gz).
正しい構文は何ですか?
答え1
そこに…
paste <(zcat f1.gz) <(zcat f2.gz)
答え2
素晴らしい答え:本当にありがとう。
私はそれを使って3つの列をそれぞれ圧縮ファイルに貼り付けました。
共有用:3200個のRedhatマシンソース、毎日約2億5000万ポイント...
これはすべてのファイルをローカルにインポートする正確な方法ではありませんが、ansible
実際の作業で使用されるアイデアをキャプチャします。
for i in $(cat list_of_hostnames.txt)
do
sadf -U -- -A <file from yesterday> | pigz -9 > host_date_file.tsv.gz
done
作業ディレクトリにこれらのファイルがすべてあるとします。
pigz -cd *.tsv.gz| sed -E 's/\t/\n/g' | split --numeric-suffixes=1 -nr/6 - kk.
このコマンドを実行すると、値のホスト名、間隔、エポック、デバイス、メトリック、およびタイムスタンプ(秒)kk.01
に対応する6つの圧縮ファイルが得られます。kk.06
スペースを節約するには:
rm kk.02
(タイムスタンプのある間隔は必要ありません。)
pigz -9 kk.0[13456]
今、これは次のものを使う時です。
paste <(zcat kk.05.gz ) <(zcat kk.01.gz) <(zcat kk.04.gz) <(zcat kk.06.gz) | grep '%idle' | pigz -9 > metric_host_device_value.tsv.gz