切り取りの順序を変更してテキストに出力

切り取りの順序を変更してテキストに出力

現在 CentOS を学習中ですが、可能であれば支援が必要です。UserNameList.lst というファイルがあり、これはユーザー アカウントを生成するために使用されます。ファイルの内容は次のとおりです。

Josh, Adams, [email protected]
Henry, Ford, [email protected]

次のような txt ファイルを出力する必要があります。(基本的に列 2 と列 1 を組み合わせて 1 つの列を作成します)

Adams Josh
Ford Henry

コマンドを使ってみました

cut -d "," -f 1 >> Last.txt
cut -d "," -f 2 >> First.txt
paste First.txt Last.txt >> full

出力

Adams    Josh
Ford     Henry

もっと簡単な方法はありますか?

答え1

これは次のような場合に最適ですawk

$ cat ip.txt 
Josh, Adams, [email protected]
Henry, Ford, [email protected]

$ awk -F"[ ,]+" '{print $2, $1}' ip.txt 
Adams Josh
Ford Henry
  • -F"[ ,]+",フィールド区切り文字は、スペースと文字の1つ以上です。
  • 次に、2列目と1列目を印刷します。

関連情報