【发布时间】:2014-07-10 04:36:08
【问题描述】:
这让我发疯了......
我有一个文件BookDB.txt,它以以下格式存储数据:
Python for dummies:Pauline:10.45:4:3
Python for dummies:Peter:10.67:0:11
C++ for dummies:Jared Loo:10.56:1:9
我想通过使用以下命令将 (:) 分隔符替换为 (/t) 来打印所有书籍的库存摘要:
sed 's/:/\t/g' cat BookDB.txt)
但它只是将所有行连接成两行,如下所示:
Title Author Price Qty Avail Qty Sold Total Sales
---------------------------------------------------------------------------------------------------
Python for dummies Pauline 10.45 4 3 Python for dummies Peter 10.67 0 11 C++ for dummies Jared Loo 10.56 1 9
Python for dummies Pauline 10.45 4 3 Python for dummies Peter 10.67 0 11 C++ for dummies Jared Loo 10.56 1 9
基本上,我希望我的输出看起来像这样:
Title Author Price Qty Avail. Qty Sold
-------------------------------------------------------------------------------------------
Python for dummies Pauline 10.45 4 3
Python for dummies Peter 10.67 0 11
C++ for dummies Jared Loo 10.56 1 9
除了修改上面列出的 sed 命令之外,还有其他更好的方法吗?
【问题讨论】:
标签: bash awk sed grep delimiter