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