0
我想輸出一個目錄中的文件名列表,其中列表應按每個文件名中給定字符的出現次數降序排列。我怎樣才能用bash做到這一點?按給定字符的數量排列文件名?
我想輸出一個目錄中的文件名列表,其中列表應按每個文件名中給定字符的出現次數降序排列。我怎樣才能用bash做到這一點?按給定字符的數量排列文件名?
讓說你想的出現次數在文件名中的 「A」 進行排序:
for i in *; do; echo "`grep -o "a" <<< "$i" | wc -l` $i"; done | sort -r
結果
$ ls
carla
elaine
guybrush
herman
largo
leamon-head
lechuck
max
meathook
ozzie
sam
stan
voodoo
$ for i in *; do; echo "`grep -o "a" <<< "$i" | wc -l` $i"; done | sort -r
2 leamon-head
2 carla
1 stan
1 sam
1 meathook
1 max
1 largo
1 herman
1 elaine
0 voodoo
0 ozzie
0 lechuck
0 guybrush
@anishsane我已經寫在數學的解決方案。這會有幫助嗎? – becko
你的輸入名稱是什麼樣的?名稱中是否有空格或其他特殊字符?名稱一側是否重複字符(例如abb.txt,aab.txt aaa.txt)或是否分割(例如aba.txt)? – anishsane
也許,但不是如果你不分享它。 – tripleee