Sắp xếp -g được sử dụng để sắp xếp các số theo thứ tự tăng dần.
anthony@mtt3:~$ sort --help | egrep "\-g"
-g, --general-numeric-sort compare according to general numerical value
Một lớp lót sau lặp lại qua một tệp có tên của các tệp PDF và chỉ lấy các số bằng egrep -o và sử dụng sort -g để sắp xếp các số trong theo thứ tự tăng dần . Sau đó, nó cung cấp cho các số này để sed và cắm chúng vào. Sau đó, đầu ra của các bản sao với uniq.
Thay vì uniq, bạn cũng có thể sử dụng awk:
awk '!x[$0]++'
Ở trên là tương đương với uniq.
Những gì bạn đang tìm kiếm là này một lót:
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
Nội dung của 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
CHỈNH SỬA:
Đầu ra của lệnh:
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