純粋なシェルが必要で、外部ツールが必要ない場合は、これを考慮してください:
reverse_word_order() {
local result=
for word in [email protected]; do
result="$word $result"
done
echo "$result"
}
reverse_word_order "$str"
それ以外の場合 tac
すぐに役立ちます:
echo -n "$str" | tac -s' '
または
tac -s' ' <<<"$str" | xargs
はい、これらのコマンドを試すことができます。
文字列の場合 、
echo "aaaa eeee bbbb ffff cccc"|tr ' ' '\n'|tac|tr '\n' ' '
変数の場合 、
echo $str|tr ' ' '\n'|tac|tr '\n' ' '
awk
を使用できます 次のように:
echo "$str" | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }'