2

我有一组数据名称 Book.txt,我想在 shell 中显示它们。但是我在尝试使用特定分隔符将我的数据分组时遇到问题

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 回答