如何使用 linux (debian) 命令行将所有类型文件 file1.ext、.file2ext 和 .anothe



我使用以下命令将所有文件从一个文件夹移动到另一个文件夹。在这种情况下,我按照以下步骤将文件从文件夹 1 移动到文件夹 2:

 # mv  -v /path2dir/subdir/folder1/* /var/www/folder2

当然,文件夹2以前已经制作过。问题不是所有文件都成功移动,某些文件(如 .file2ext.anotherext 或以字符 (.) 开头的文件(如 .htaccess)和 .error_log 在移动时不成功

如何解决此问题?

提前感谢...

Bash 提供了一种更灵活的方法来指定路径标记:

mv -v /path2dir/subdir/folder1/{.*,*} /var/www/folder2

在大括号内,您可以指定以逗号分隔的标记列表。shell 将通过迭代它们来消耗它们,从而处理所有这些匹配项的所有匹配项。

一个更短但在其他方面等效的替代方案是:

mv -v /path2dir/subdir/folder1/{.,}* /var/www/folder2

这两种选择都会向您发出警告,有关由于充分理由(...)而被跳过的条目。您可以通过重定向命令的错误输出来抑制这些内容,但您应该小心这样的事情,因为您可能会以这种方式错过重要的细节:

mv -v /path2dir/subdir/folder1/{.,}* /var/www/folder2 2>/dev/null

相关内容

最新更新