我需要使用命令行将不同文件夹中的不同文件移动到新文件夹。这些文件具有相同的格式.asc
:例如,分别位于20file1.asc
、20file2.asc
和20file3.asc
中的文件folder1
、folder2
和folder3
。我只需将.asc
所有文件夹中的 移动到新文件夹 即可folder4
。每个文件夹都按照方案命名yyyymmdd
。
谢谢
答案1
我会使用简单的脚本来实现这一点,如下所示:
for x in {folder1,folder2,folder3}; do mv $x/*.asc folder4/; done
此脚本假定您处于包含文件夹 1、文件夹 2、文件夹 3 的路径中。您可以根据需要对其进行调整。
对于特定位置的所有文件夹,您可以执行以下操作:
ls -1 >> file
for x in `cat file`; do mv $x/*.asc folder4/; done
但请注意,该ls -1
文件夹中还将包含文件,并且如果该文件夹中也有文件,您将收到这些文件的错误,提示该路径不存在。
答案2
假设所有源文件夹都位于同一目录路径,则可以使用以下 bash 脚本:
ls -1 >> sources
for x in `cat sources`; do mv $x/*.asc target/; done
rm sources
将其保存在主文件夹中name.sh
,然后运行
$ sh name.sh
自动完成工作。