切り取りコマンド、順序は維持されませんか?

切り取りコマンド、順序は維持されませんか?

サンプルファイルがあります。

[root@localhost base_filters]# cat shortlist
2233|charles harris  |g.m.     |sales     |12/12/52| 90000
9876|bill johnson    |director |production|03/12/50|130000
5678|robert dylan    |d.g.m.   |marketing |04/19/43| 85000
2365|john woodcock   |director |personnel |05/11/47|120000
5423|barry wood      |chairman |admin     |08/30/56|160000

,姓の後にカンマがあるようにファイルの名前を反転したいと思います。たとえば、名前は harris,charles で読み取る必要があります。

私は次のコマンドを試しました: -

[root@localhost base_filters]# tr -s ' ' < shortlist | cut -d\| -f2 | cut -d' ' -f2,1
charles harris
bill johnson
robert dylan
john woodcock
barry wood

姓を最初に指定したいので、フィールド2を指定してから1を指定しましたが、うまくいかないようです。これについて考えていますか?

ベストアンサー1

これはを使用して簡単に行うことができますawk。まず、名前を印刷してから出力をもう一度awkにパイプします(今回はスペースをファイル区切り文字として使用します)。

awk -F "|" '{print $2}' extract.txt | awk -F " " '{print $2 "," $1}'

おすすめ記事