GNU/Linux >> Linux の 問題 >  >> Linux

シェル文字列内の単語のリストを逆にする方法は?

純粋なシェルが必要で、外部ツールが必要ない場合は、これを考慮してください:

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; }'

Linux
  1. Nginxリバースプロキシを設定する方法

  2. すべてのシェルキーワードを一覧表示する方法は?

  3. 保存済みリストからアクセスポイントを削除するにはどうすればよいですか?

  1. Linuxでシェルを変更する方法

  2. シェルの再帰ディレクトリにある特定の種類のファイルを一覧表示する方法は?

  3. Linux シェルでは、複数行の文字列の各行をどのように処理できますか?

  1. Linuxシェルスクリプトに新しい行を挿入するには?

  2. Linux シェル ユーティリティ:16 進数のリストを 10 進数のリストに変換する

  3. シェルスクリプトを介してファイルから文字列を削除するには?