假设我有以下文件:
'CamScanner 11-06-2022 13.04.24_1.jpg' 'CamScanner 11-06-2022 13.04.24_20.jpg'
'CamScanner 11-06-2022 13.04.24_10.jpg' 'CamScanner 11-06-2022 13.04.24_21.jpg'
'CamScanner 11-06-2022 13.04.24_11.jpg' 'CamScanner 11-06-2022 13.04.24_22.jpg'
'CamScanner 11-06-2022 13.04.24_12.jpg' 'CamScanner 11-06-2022 13.04.24_23.jpg'
'CamScanner 11-06-2022 13.04.24_13.jpg' 'CamScanner 11-06-2022 13.04.24_24.jpg'
'CamScanner 11-06-2022 13.04.24_14.jpg' 'CamScanner 11-06-2022 13.04.24_3.jpg'
'CamScanner 11-06-2022 13.04.24_15.jpg' 'CamScanner 11-06-2022 13.04.24_4.jpg'
'CamScanner 11-06-2022 13.04.24_16.jpg' 'CamScanner 11-06-2022 13.04.24_5.jpg'
'CamScanner 11-06-2022 13.04.24_17.jpg' 'CamScanner 11-06-2022 13.04.24_6.jpg'
'CamScanner 11-06-2022 13.04.24_18.jpg' 'CamScanner 11-06-2022 13.04.24_7.jpg'
'CamScanner 11-06-2022 13.04.24_19.jpg' 'CamScanner 11-06-2022 13.04.24_8.jpg'
'CamScanner 11-06-2022 13.04.24_2.jpg' 'CamScanner 11-06-2022 13.04.24_9.jpg'
我想将这些文件转换为pdf格式。这些文件当前未按版本顺序列出,因此我尝试了以下操作:
convert $(ls -v) output.pdf
但是由于文件名中的空格,这个方法失败了。我想把文件名传递给按版本顺序列出的convert
,并处理名称中的空格。我看到过一些这样的问题,他们在传递文件进行转换之前按某种顺序对文件进行排序,但没有一个在文件名中包含任何空格。如有任何建议,将不胜感激:)
编辑:我也试过:
ls -v | xargs -I% convert % output.pdf
但这只是将单个jpg转换为pdf。
1条答案
按热度按时间dtcbnfnu1#
您需要引用每个文件名。或者,试试这个。
一个更好的解决方案是在文件名中使用机器可读的日期和用零填充的序列号,这将使它们对人类读者来说是明确的,并轻松地解决排序顺序问题。
演示,各种各样:https://ideone.com/Svl6uQ