首先移动" n"使用Bash Script或Ubuntu命令行按名称排序的文件

时间:2016-03-29 02:17:48

标签: linux bash ubuntu

我需要一个命令行或一个bash脚本来将文件夹(包含30000个文件)中的前80个文件(名称已排序)移动到新文件夹中,这些文件夹将存储80个文件,用于使用Imagemagick进行单独处理。 我尝试使用ls pathtofolder/Pictures/* | head -80 | xargs -I{} cp {} pathtofolder/OutputFolder和其他类似的代码,但文件(由Pictures%d.jpg命名)以奇怪的顺序复制(例如1到5,然后是10到16,然后是100到160,依此类推,共完成80个文件。)

我找到的最简单方法是使用convert image-%d.jpg[1-5],如this page所述,但似乎它不起作用(我尝试使用convert -delay 3.33 -loop 0 pathtofolder/Pictures%d.jpg[100-180] pathtofolder/Test.gif),抛出这个错误:

  

zsh:找不到匹配项:   /home/naldrek/Videos/Pictures/Pictures%d.jpg[100-180]

我也试过了其他的东西,我在网上看了很多。无法使其发挥作用。

1 个答案:

答案 0 :(得分:1)

那样简单直接的解决方案
for F in $(ls -U | sort | head -80); do 
    cp $F /path/to/target
    convert /path/to/target/$F
done