0
Hallo Ich habe eine Hausaufgabe in meiner Klasse und einen Teil davon ist es, eine Liste von Strings nach ihrer Länge zu sortieren.Sortieren von Strings ohne die Verwendung von awk oder sed
Wir können nicht verwenden awk
oder sed
, nur bash
. Lets sagen, dass ich etwas, das so aussieht:
ten
car
something
plane
stack
overflow
Das Endergebnis der Sortieranlage
something
overflow
stack
plane
ten
car
sein sollte, dass die längere Wörter auf Mittel, und wenn sie die gleiche Größe in alphabetischer Reihenfolge sind.
Das ist, was ich bisher ausprobiert habe:
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"
}
So möchten Sie uns Ihre Hausaufgaben machen? –
Ich habe 97% davon gemacht, das Problem ist, dass ich das nicht herausfinden kann Ich habe wie eine Liste, die 1500 Zeilen lang ist und nichts online gefunden, so dass kleine Hilfe kein Problem sein sollte :) – Demian
ok gut so din't zögert Ihren atttempted Code in Frage zu stellen – anubhava