2

データ名 Book.txt のセットがあり、それらをシェルに表示したいと思います。ただし、特定の区切り文字を使用して列にデータをグループ化しようとすると問題が発生します

Book.txt には以下が含まれます。

Harry Potter 1:Author1:100
Lord Of The Rings:Author2:200

次のコードを使用して、Book.txt のデータを表示できます。

awk -F':' '{print $1 "\t" $2}' ./Book.txt 

ただし、列にうまく配置したいので、パイプライン列を使用してみました

awk -F':' '{print $1 "\t" $2}' ./Book.txt | column -s "/t"

しかし、試してみると、うまくいかないようです。タイトルに空白があり、区切り文字として機能するため、 column -t を使用できませんでした。代わりに「タブ」を区切り文字として使用したい

4

2 に答える 2

5

columnコマンドを直接使用できますか?

column -s ":" -t Book.txt

結果:

Harry Potter 1     Author1  100
Lord Of The Rings  Author2  200
于 2013-01-08T15:39:10.533 に答える
1

これにより、ヘッダーと最後の列が削除されます。

$ cat file 
Book Header
Harry Potter 1:Author1:100
Lord Of The Rings:Author2:200

$ awk -F':' -v OFS=':' '{print $1, $2}' file | column -s: -t
Book Header
Harry Potter 1     Author1
Lord Of The Rings  Author2
于 2013-01-08T15:50:29.397 に答える