ディレクトリからファイルを抽出し、ファイル名とサイズ(KB単位)をCSVファイルに保存します。

ディレクトリからファイルを抽出し、ファイル名とサイズ(KB単位)をCSVファイルに保存します。

/var/logディレクトリからすべての.logファイルを検索し、結果を各ログファイルの対応するファイルサイズ(kB)と共にcsvファイルに保存したいと思います。

まず、 find を使用してファイルをインポートします。

find . -type f -name "*.log"

どのようにファイルとして保存できますか?

ベストアンサー1

GNUの使用find:

find . -name '*.log' -printf '%p,%s\n'

これにより、ファイル名とファイルサイズがカンマで区切られ、バイト単位で印刷されます。ファイルのデフォルト名のみが必要な場合(つまり、パスなし)の%f代わりに使用してください。%p

キロバイト(10 ^ 3単位、「KB」)またはキロバイト(2 ^ 10単位、「KiB」)としてマークするには、出力を後処理する必要があります。バラよりdu, ls1 など、バイト数を人間の KiB MiB などに変換する標準ツールです。これを行う方法はいくつかあります。各行の2番目のフィールドだけを変更したいので、awkorを使用するのが最も簡単です。perl

おすすめ記事