सॉर्ट -g का उपयोग आरोही क्रम में संख्याओं को सॉर्ट करने के लिए किया जाता है।
anthony@mtt3:~$ sort --help | egrep "\-g"
-g, --general-numeric-sort compare according to general numerical value
निम्न एक लाइनर पीडीएफ फाइलों के नाम के साथ एक फ़ाइल से अधिक पुनरावृत्त करता है और संख्याओं को केवल egrep -o के साथ पकड़ता है और क्रमबद्ध क्रम में संख्याओं को सॉर्ट करने के लिए सॉर्ट -g का उपयोग करता है । फिर यह इन नंबरों को sed को फीड करता है और उन्हें प्लग इन करता है। फिर uniq के साथ डुप्लिकेट के आउटपुट को छापता है।
यूनीक के स्थान पर, आप awk का उपयोग कर सकते हैं:
awk '!x[$0]++'
उपरोक्त यूनीक के बराबर है।
तुम क्या देख रहे हो यह एक लाइनर है:
for i in `cat tmp | egrep -o "[0-9]*" | sort -g`; do cat tmp | sed "s/\(^[a-z]*\)\([0-9]*\)\(\.pdf\)/\1$i\3/g" | uniq; done
Tmp की सामग्री:
anthony@mtt3:~$ cat tmp
cwcch10.pdf
cwcch11.pdf
cwcch12.pdf
cwcch13.pdf
cwcch14.pdf
cwcch15.pdf
cwcch16.pdf
cwcch17.pdf
cwcch18.pdf
cwcch1.pdf
cwcch2.pdf
cwcch3.pdf
cwcch4.pdf
cwcch5.pdf
cwcch6.pdf
cwcch7.pdf
cwcch8.pdf
cwcch9.pdf
संपादित करें:
कमांड का आउटपुट:
anthony@mtt3:~$ for i in `cat tmp | egrep -o "[0-9]*" | sort -g`; do cat tmp | sed "s/\(^[a-z]*\)\([0-9]*\)\(\.pdf\)/\1$i\3/g" | uniq; done
cwcch1.pdf
cwcch2.pdf
cwcch3.pdf
cwcch4.pdf
cwcch5.pdf
cwcch6.pdf
cwcch7.pdf
cwcch8.pdf
cwcch9.pdf
cwcch10.pdf
cwcch11.pdf
cwcch12.pdf
cwcch13.pdf
cwcch14.pdf
cwcch15.pdf
cwcch16.pdf
cwcch17.pdf
cwcch18.pdf