sed:値を削除して最後に挿入する

sed:値を削除して最後に挿入する

次の文字列があります

"1 Michael"
"2 John" ...

私はそれらを次のように変更したいと思います。

"Michael 1"
"John 2" ....

どうすればいいですか?

文字列はシェル変数に格納され、各文字列は別々の行を表します。

したがって、echo "$ var"が呼び出されると印刷されます。

1 Michael
2 John

答え1

echo "$string" | sed -E 's/([[:digit:]]+) (.*)/\2 \1/'

答え2

スペースで区切られた2つのフィールドを次に置き換えますawk

awk '{ print $2, $1 }' file >outfile

出力は、スペースで区切られたファイルとして名前付きファイルに書き込まれますoutfile

テスト:

$ cat file
1 Michael
2 John
$ awk '{ print $2, $1 }' file >outfile
$ cat outfile
Michael 1
John 2

関連情報