Tôi có danh sách các tập tin pdf trong một thư mục:
c0.pdf c12.pdf c15.pdf c18.pdf c20.pdf c4.pdf c7.pdf
c10.pdf c13.pdf c16.pdf c19.pdf c2.pdf c5.pdf c8.pdf
c11.pdf c14.pdf c17.pdf c1.pdf c3.pdf c6.pdf c9.pdf
Tôi muốn ghép nối chúng bằng ghostscript theo thứ tự số (tương tự như thế này):
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf *.pdf
Nhưng thứ tự mở rộng vỏ không tái tạo thứ tự tự nhiên của các số mà theo thứ tự chữ cái:
$ for f in *.pdf; do echo $f; done
c0.pdf
c10.pdf
c11.pdf
c12.pdf
c13.pdf
c14.pdf
c15.pdf
c16.pdf
c17.pdf
c18.pdf
c19.pdf
c1.pdf
c20.pdf
c2.pdf
c3.pdf
c4.pdf
c5.pdf
c6.pdf
c7.pdf
c8.pdf
c9.pdf
Làm cách nào tôi có thể đạt được thứ tự mong muốn trong việc mở rộng (nếu có thể mà không cần thêm thủ công 0
-padding vào các số trong tên tệp)?
Tôi đã tìm thấy các đề xuất để sử dụng ls | sort -V
, nhưng tôi không thể làm cho nó hoạt động cho trường hợp sử dụng cụ thể của mình.