awkを使用してシンボル/テキストの周りの単語(「to」)を置き換える

awkを使用してシンボル/テキストの周りの単語(「to」)を置き換える

次のファイルがあります。

Aa Bb C Y... "TO" Bb
Cc Z J >> sd "TO" Dd
Ee Z H S DFF "TO" Ff

しかし、私はこれが欲しい:

Bb "TO" Aa Bb C Y... 
Dd "TO" Cc Z J >> sd 
Ff "TO" Ee Z H S DFF

だから「TO」の周りのテキストを置き換えることができます...

答え1

私はそれをします:

awk -F ' "TO" ' '{print $2 FS $1}'

-Fフィールド区切り記号(FS変数)を定義します。この行は一度だけ現れ、空白"TO"で囲まれていると仮定します。

を使用すると、perl次のようにさらに制御できます。

perl -Mopen=locale -lpe 's/^(.*?)(\h*)("TO")(\h*)(.*)$/$5$4$3$2$1/'

周囲のスペースを移動することもできます"TO"

答え2

努力する:

awk -F" \"TO\" " '{print $2 " \"TO\" " $1}' yourfile

関連情報