GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membalik daftar kata dalam string shell?

jika Anda membutuhkan shell murni, tanpa alat eksternal, pertimbangkan ini:

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

reverse_word_order "$str"

Jika tidak tac dapat langsung membantu Anda:

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

atau

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

Ya, Anda dapat mencoba perintah ini,

Untuk string ,

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

Untuk variabel ,

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

Anda dapat menggunakan awk sebagai berikut:

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

Linux
  1. Tambahkan Dan Tambahkan String Ke Setiap Elemen $* Di Shell?

  2. Bagaimana Cara Menghapus Titik Akses Dari Daftar Tersimpan?

  3. Cara Mengganti Shell di Linux

  1. Cara Mengatur Proksi Terbalik Nginx

  2. Bagaimana cara mengubah karakter hex ke ASCII di shell Linux?

  3. Bagaimana cara mengubah output shell Linux ke HTML?

  1. Cara mencetak Stdout dari perintah dalam urutan terbalik di Linux Shell

  2. Bagaimana Menyebabkan Kesalahan "Daftar argumen Terlalu Panjang"??

  3. Bagaimana Mendaftar Semua Kata Kunci Shell?