sedを使用して2つの単語を置き換える

sedを使用して2つの単語を置き換える

2つの単語を1行に置き換えようとしても機能しません。たとえば、「今日は大学に行く最初の日です」は、「今日は大学に行く最初の日です」と置き換える必要があります。

私が試したことは次のとおりです。

sed 's/\([a-zA-z0-9]\)\([a-zA-z0-9]\)\([a-zA-z0-9]\)/\3\2\1/' filename.txt

私は何が間違っていましたか?

答え1

この試み:

sed -r 's/([a-zA-Z0-9]+) ([a-zA-Z0-9]+) ([a-zA-Z0-9]+)/\3 \2 \1/'

-r問題は、sedコマンドでオプションやエスケープ記号なしで拡張正規表現を使用しようとしていることです。

正規表現も完全に正確ではありません。

指定した範囲が無効です。A-z範囲はありません。 yes A-Z

また、空白を忘れて、単語が複数文字であることを指定していません。

関連情報