切り取り、並べ替え、テキストとして出力

切り取り、並べ替え、テキストとして出力

現在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番目の列を印刷します。

おすすめ記事