ls 出力ファイルへのヘッダーの書き込み

ls 出力ファイルへのヘッダーの書き込み

gsutil空のファイルリストをダウンロードするには、次のコマンドを使用しています。"filename"出力を書き込む前にヘッダを書きたいです。

gsutil ls -l "gs://test-data-prod-ingest/cm_data/AN/CM/*/a01_*_20210128*.csv.bz2" | awk '{if ($1 <= 100) print $3}' > ls_output.csv

出力は次のようにする必要があります

filename
somefile1
somefile2
---
---

答え1

努力する:

...| awk '!hdr{ print "something as header"; hdr=1; }; $1 <= 100{ print $3; }'

これの利点は、awkがstdinから何かを読み取るときにのみヘッダー行を印刷するのに対して、BEGIN{...}ブロック内にヘッダー行を書き込むと、入力からデータを読み取らなくてもヘッダー行が印刷されることです。

あるいは、少なくとも1つのレコードが印刷基準を満たしている場合にのみヘッダを印刷する方がよい。

...| awk '$1<=100 { if (!hdr) { print "something as header"; hdr=1; }; print $3; } '

関連情報