我有一组数据名称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"
但是当我尝试它时,它似乎无法工作。我不能使用列-t,因为我的标题有空格,它充当分隔符。我想用'tab'代替我的分隔符
答案 0 :(得分:5)
您可以直接使用column
命令吗?
column -s ":" -t Book.txt
结果:
Harry Potter 1 Author1 100
Lord Of The Rings Author2 200
答案 1 :(得分: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