0
嗨我的課上有作業,其中一部分是按其長度排序字符串列表。不使用awk或sed對字符串排序
我們不能使用awk
或sed
,只有bash
。可以說我有一些看起來像這樣:
ten
car
something
plane
stack
overflow
排序的最終結果應該是
something
overflow
stack
plane
ten
car
這意味着在上面的時間越長的話,如果他們是按照字母順序相同的尺寸。
這是我到目前爲止已經試過:
extSort(){
total=$(cat $file| wc -w)
count="$(cat $file | tr ' ' '\n' | tr -d '[:punct:]' | sort | uniq -c | sort -k1,1nr -k2 -n)"
while read line; do
if [ $(echo $line | wc -w) -eq 1 ]; then
continue
fi
current=$(echo $line | cut -d " " -f 1)
percent=$(echo "$current/$total*100" | bc -l)
round=$(echo "scale=2; $percent/1" | bc -l)"%%"
printf "$line "$round"\n" done <<<"$input"
}
所以,你要我們做的功課? –
我已經做了像97%的問題是我不能找出這一個我有一個列表1500線長,沒有找到任何東西在線,所以幫助不應該是一個問題:) – Demian
好的好所以din't毫不猶豫地張貼在問題 – anubhava