繁体   English   中英

使用Bash脚本或Ubuntu命令行移动按名称排序的前“ n”个文件

[英]Move first “n” files sorted by name with Bash Script or Ubuntu command line

我需要命令行或bash脚本将文件夹(包含30000个文件)中的前80个文件(按名称排序)移动到新文件夹中,该新文件夹将存储这80个文件块,以便通过Imagemagick进行单独处理。 我已经尝试过ls pathtofolder/Pictures/* | head -80 | xargs -I{} cp {} pathtofolder/OutputFolder ls pathtofolder/Pictures/* | head -80 | xargs -I{} cp {} pathtofolder/OutputFolder ls pathtofolder/Pictures/* | head -80 | xargs -I{} cp {} pathtofolder/OutputFolder和其他类似的代码,但是文件(以Pictures%d.jpg命名)以奇怪的顺序复制(例如1到5、10到Pictures%d.jpg到160等) ,总共完成80个文件)。

我发现最简单的方法是使用convert image-%d.jpg[1-5] ,如本页所示 ,但似乎不起作用(我尝试使用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]

我也尝试了其他方法,并且在互联网上阅读了很多东西。 无法使其工作。

像这样的简单解决方案怎么样

for F in $(ls -U | sort | head -80); do 
    cp $F /path/to/target
    convert /path/to/target/$F
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM