bash: /usr/bin/find: 引数リストが長すぎます。

bash: /usr/bin/find: 引数リストが長すぎます。

私のフォルダにファイルが多すぎます。私は私のinodeをできるだけ早く解放したいので、私は次のように試しました。

find ./EcoBackup/* -name '*.*' > FilesBackupName.txt
bash: /usr/bin/find: Argument list too long
tar -cv -T FilesBackupName.txt -f tarball.tar

引数リストが長すぎると失敗せずにtarの速度をどのように向上できますか?

成功しますか?

find /foot/bar/ -name '*.*' -exec mv -t tarball.tar {} +

find /foot/bar/ -name '*.*' -print0 | xargs -0 tar -t tarball.tar

同じ種類のファイルを削除できますか?

答え1

これは、bashが実際に一致するすべてのファイルにアスタリスクを拡張して、コマンドラインに引数が多すぎるために発生します。したがって、削除した後は問題ありません(例:ここ)

find ./EcoBackup/ -name '*.*' > FilesBackupName.txt

そして、あなたが提案した解決策もうまくいくでしょう。


このオプションを使用すると、コマンドを使用して--remove-files一度にファイルを削除できます。tar

tar --remove-files -cv -T FilesBackupName.txt -f tarball.tar

関連情報