Sorting 在imagemagick中转换为pdf之前对文件进行排序

Sorting 在imagemagick中转换为pdf之前对文件进行排序,sorting,unix,pdf,imagemagick,pipe,Sorting,Unix,Pdf,Imagemagick,Pipe,我有一个文件夹的图像文件,我需要转换成pdf格式。我用wget下载了它们。问题在于linux提供的文件排序不是页面的实际顺序,这是文件排序的一个示例: 100-52b69f4490.jpg 101-689eb36688.jpg 10-1bf275d638.jpg 102-6f7dc2def9.jpg 103-2da8842faf.jpg 104-9b01a64111.jpg 105-1d5e3862d8.jpg 106-221412a767.jpg ... 我可以使用imagemagick命令

我有一个文件夹的图像文件,我需要转换成pdf格式。我用wget下载了它们。问题在于linux提供的文件排序不是页面的实际顺序,这是文件排序的一个示例:

100-52b69f4490.jpg
101-689eb36688.jpg
10-1bf275d638.jpg
102-6f7dc2def9.jpg
103-2da8842faf.jpg
104-9b01a64111.jpg
105-1d5e3862d8.jpg
106-221412a767.jpg
...
我可以使用imagemagick命令将这些图像转换为pdf
convert*.jpg output.pdf

但它会按照上面的顺序将页面放入pdf,而不是按照人类可读的数字顺序1-blahblahblah.jpg、2-blahblahblah.jpg、3-blahblahblah.jpg等等


最简单的方法是通过管道将排序的输出进行转换吗?或者在将每个文件添加到pdf文件时通过管道将其添加到wget?

有几个选项:

最简单的方法如下所示,但如果页面太多,可能会使命令行长度溢出:

convert $(ls *jpg | sort -n) result.pdf
接下来是在
stdin
上输入文件列表,如下所示:

ls *jpg | sort -n | convert @- result.pdf

有几种选择:

最简单的方法如下所示,但如果页面太多,可能会使命令行长度溢出:

convert $(ls *jpg | sort -n) result.pdf
接下来是在
stdin
上输入文件列表,如下所示:

ls *jpg | sort -n | convert @- result.pdf
convert$(ls-1v*.jpg)book.pdf

为我工作

convert$(ls-1v*.jpg)book.pdf

为我工作

这里有一个bash脚本:

#!/bin/bash
sort -n < list.txt > sorted_list.tmp
readarray -t list < sorted_list.tmp
convert "${list[@]}" output.pdf
rm sorted_list.tmp
exit
#/bin/bash
排序-nsorted_list.tmp
readarray-t list
首先用
ls>list.txt
列出目录,就可以获得
list.txt
排序-n
(数字排序)“规范化”您的条目。 排序后的列表保存在
.tmp
文件中,并在最后删除。 您好,

这里有一个bash脚本:

#!/bin/bash
sort -n < list.txt > sorted_list.tmp
readarray -t list < sorted_list.tmp
convert "${list[@]}" output.pdf
rm sorted_list.tmp
exit
#/bin/bash
排序-nsorted_list.tmp
readarray-t list
首先用
ls>list.txt
列出目录,就可以获得
list.txt
排序-n
(数字排序)“规范化”您的条目。 排序后的列表保存在
.tmp
文件中,并在最后删除。
您好,

太好了!我也有同样的问题完美!我也有同样的问题