ファイルが「スパースファイル」であることを確認する

ファイルが「スパースファイル」であることを確認する

既存の問題があります。「すべてのまれなファイルを探す」、使えると思いましたが、スクリプトが複雑すぎてわかりませんね。私はUbuntuファイルマネージャのGUIがファイルが希薄かどうかを知る方法を提供していないと思います。どう言う?

ファイルシステムはEXT4です。

答え1

受け入れられる答えは一文です。

# find / -type f -printf "%S\t%p\n" | gawk '$1 < 1.0 {print}'

だからここには多くの部分があります。分析してみましょう。

find / -type f

この部分はコンピュータ上のすべてのファイルを検索します。

-printf "%S\t\%p\n"

この部分はファイルの「スパース性」と完全なファイル名を出力します。

したがって、この時点の出力は、次の形式の項目のリストに似ています。

1.23456 /tmp/a/file

最初の数字が 1.0 より小さい場合、ファイルは「まれ」と見なされます。

その後、awkでフィルタリングできます。

gawk '$1 < 1.0 {print}'

これにより、最初の数字が1.0未満の行のみが報告され、出力がスパース行に制限されます。

結果は、すべてのスパースファイルと対応する「スパース性」のリストです。

簡単なコマンドを実行するには多くの作業が必要です!

特定のファイルがリーンであるかどうかをテストしたい場合は、そのファイルのバリアントを使用できます。例えば

find file_to_test -printf "%S"

数値を返します。 1.0未満でテスト可能

答え2

端末で確認しますか?

find FILENAME -type f ! -size 0 -printf '%S\n'

1未満で印刷した場合は希少ファイルです。

関連情報