मेरे पास एक निर्देशिका में पीडीएफ फाइलों की यह सूची है:
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
मैं संख्यात्मक क्रम में भूत-विद्या का उपयोग करके इन्हें समाहित करना चाहता हूं (इसके समान):
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf *.pdf
लेकिन शेल विस्तार क्रम संख्याओं के प्राकृतिक क्रम को नहीं बल्कि वर्णानुक्रम क्रम को पुन: उत्पन्न करता है:
$ 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
मैं विस्तार में वांछित आदेश कैसे प्राप्त कर सकता हूं (यदि 0
फ़ाइल नामों में संख्याओं को मैन्युअल रूप से जोड़ने के बिना संभव है )?
मुझे उपयोग करने के लिए सुझाव मिले हैं ls | sort -V
, लेकिन मैं इसे अपने विशिष्ट उपयोग के मामले में काम नहीं कर पाया ।