如何使用 linux (debian) 命令行将所有类型文件 file1.ext、.file2ext 和 .anotherext 从文件夹移动到另一个文件夹?
How to move all the type file file1.ext, .file2ext and .anotherext from folder to another folder with linux (debian) command line?
我使用以下命令将所有文件从一个文件夹移动到另一个文件夹。在这种情况下,我按照以下命令将文件从 folder1 移动到 folder2:
# mv -v /path2dir/subdir/folder1/* /var/www/folder2
当然folder2是以前做过的。
问题不是所有文件都成功移动,有些文件像 .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
我使用以下命令将所有文件从一个文件夹移动到另一个文件夹。在这种情况下,我按照以下命令将文件从 folder1 移动到 folder2:
# mv -v /path2dir/subdir/folder1/* /var/www/folder2
当然folder2是以前做过的。 问题不是所有文件都成功移动,有些文件像 .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