GNU/Linux >> Linux Esercitazione >  >> Linux

Come invertire un elenco di parole in una stringa di shell?

se hai bisogno di pura shell, senza strumenti esterni, considera questo:

reverse_word_order() {
    local result=
    for word in [email protected]; do
        result="$word $result"
    done
    echo "$result" 
}

reverse_word_order "$str"

Altrimenti tac può aiutarti subito:

echo -n "$str" | tac -s' '

o

tac -s' ' <<<"$str" | xargs 

Sì, puoi provare questi comandi,

Per stringa ,

echo "aaaa eeee bbbb ffff cccc"|tr ' ' '\n'|tac|tr '\n' ' '

Per la variabile ,

echo $str|tr ' ' '\n'|tac|tr '\n' ' '

Puoi usare awk come segue:

echo "$str" | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }'

Linux
  1. Come configurare un proxy inverso Nginx

  2. Come stampare Stdout di un comando in ordine inverso su una shell Linux

  3. Anteporre e aggiungere una stringa a ogni elemento di $* in Shell?

  4. Come convertire i caratteri esadecimali in ASCII nella shell di Linux?

  5. Come convertire l'output della shell di Linux in HTML?

Come elencare tutti i database in PostgreSQL

Come utilizzare il comando SS di Linux

Come fare eco in un file

In una shell Linux come posso elaborare ogni riga di una stringa multilinea?

Come inserire una nuova riga nello script della shell di Linux?

Come rimuovere qualsiasi stringa da un file tramite script di shell?