2014-09-22 21 views
0

假设我有一个从“meta-00000”到“meta-10000”的文件夹。但是,我只想将文件从“meta-00000”传输到“meta-00300”(301文件)到另一个目录中,我该怎么做?我问这是因为我不想输入cp ./meta-000xx ./directory为301次!有没有什么好的解决方案?如何复制具有特定后缀的文件一段时间?

+0

写小shell脚本使用for循环可以运行300次。您可以执行shell脚本文件。 – 2014-09-22 01:20:52

+0

但我不知道如何将循环变量附加到文件的末尾,请问您可以向我展示一个例子吗? – user2970089 2014-09-22 01:23:07

回答

1
cp meta-{00000..00300} directory  # Bash 4 

for ((i = 0; i <= 300; ++i)); do 
    cp meta-$(printf '%05d' $i) directory 
done 
+0

范围说明符{00000..00300}在许多版本的'bash'或其他shell中不可用。 – Makyen 2014-09-22 02:42:44

2

这应该工作在几乎所有的壳:

cp meta-00[0-2][0-9][0-9] meta-00300 directory 
0
for i in `ls -1 meta-000* | head -n 301` 
do 
    cp $i target_directory/ 
done 

for i in $(seq -f "%05g" 0 300) 
do 
    cp meta-$i target_directory/ 
done 
相关问题