Linux SAMBAサーバーに問題があるため、いくつかの写真(数十のディレクトリにある数百のファイル)が破損しています。多くのソースを含むTime Machineバックアップを持つMacがあります。
MacにSAMBA共有をインストールすると、0kbファイルを検索できます。
find /Volumes/Photos/ f -empty -not -path '*/\.*'
このコマンドを展開してタイムマシンのインストールを検索して、0KBファイルに破損していないファイルがあるかどうかを確認するにはどうすればよいですか?
bashスクリプトが必要だと思います。それともPythonです。
答え1
Mac以外のLinuxでのみ以下をテストできますが、非標準は使用していないようです。
-
ファイル名がダッシュで始まる場合、またはファイル名に改行文字が含まれている場合、何の影響もありません。
次を含むディレクトリから始めます。
$ find -type f | xargs du -h
4,0K ./find_empty_dupes.sh
4,0K ./sub/sub2/corrupt.txt
0 ./sub/corrupt.txt
0 ./sub/empty.txt
そして、次のスクリプトを実行してください。
#!/bin/bash
find . -type f -empty | while IFS= read -r file; do
if find . -name "$(basename "$file")" -not -empty | grep -q '.'; then
echo "$file"
fi
done
テストの実行は次のとおりです。
$ ./find_empty_dupes.sh
./sub/corrupt.txt