同じファイル拡張子が.txtのすべてのファイルを新しいディレクトリに移動します。

同じファイル拡張子が.txtのすべてのファイルを新しいディレクトリに移動します。

デフォルトでは、私のハードドライブにはデフォルトディレクトリ内に200以上のサブディレクトリがあり、混乱しています。.txt200以上のサブディレクトリにある拡張子などを含むすべてのファイルを新しいディレクトリに移動したいと思います。たとえば、n00b.txtまたはn00b.txt.exe

そのため、200を超えるサブディレクトリを含むホームディレクトリで次のコマンドを試しました。sudo mv **/*.txt ~/Desktop/tmpremo/

代わりに、次のエラーが発生します。bash: /usr/bin/sudo: Argument list too long

このメッセージが表示されるのはなぜですか、sayを削除するにはどうすればよいですか.txt,.txt.exe?どうすれば解決できますか?

ベストアンサー1

これにより、現在のディレクトリ(サブディレクトリを含む)内のどこにも存在する拡張子を持つすべてのファイルが.txt.txt.exe~/Desktop/tmpremo

$ sudo find . -type f \( -iname '*.txt' -o -iname '*.txt.exe' \) -exec mv {} ~/Desktop/tmpremo \;

他の拡張も必要に応じて-o -iname '*.extension'追加できます-exec

sudoPS:@xenoidが指摘したように、現在の作業で絶対に必要な場合以外は使用しないでください。

おすすめ記事