我想用sort排序文件名列表。 例如:排序點字符第一個
file.ext
file1.ext
z_file2.ext
使用排序,我得到
file1.ext
file.ext
z_file2.ext
我怎麼能做到讓文件。排序方式:fileXXXX。?
我想用sort排序文件名列表。 例如:排序點字符第一個
file.ext
file1.ext
z_file2.ext
使用排序,我得到
file1.ext
file.ext
z_file2.ext
我怎麼能做到讓文件。排序方式:fileXXXX。?
正如評論所說,你的問題是,您的區域會產生一個奇怪的排序順序。區域設置到C的排序應該解決的問題:
LC_ALL=C sort
對於更精確的修復,假設你想使用的語言環境感知整理訂單,但仍然分開在擴展排序鍵,指定.
作爲字段分隔符,並使用兩種類型的鍵:
sort -t. -k1,1 -k2
你必須獨立於數字的文件名,它們相應的分類和合並回
$ sed -r 's/([0-9]*)\./ &/' file | sort -k1,1 -k2n | sed 's/ //'
file.ext
file1.ext
z_file2.ext
z_file11.ext
嘗試運行命令'LC_ALL = C'。 – choroba
謝謝,但它沒有幫助 –
什麼shell,操作系統,'排序'版本?文件名中是否有隱藏的字符? – choroba