【发布时间】:2016-01-29 06:31:34
【问题描述】:
在我的输入文件中,列是制表符分隔的,每列内的值是逗号分隔的。
我想打印第一列与第二列的每个逗号分隔值。
Mary,Tom,David cat,dog
Kevin bird,rabbit
John cat,bird
...
对于第二列中的每条记录(例如
cat,dog)我想拆分 记录到 [ cat, dog ] 数组中并将其交叉打印到 第一列。给出输出(仅针对这一行)Mary,Tom,David cat Mary,Tom,David dog
整个文件的输出应该是:
Mary,Tom,David cat
Mary,Tom,David dog
Kevin bird
Kevin rabbit
John cat
John bird
...
如果我想使用 awk 或 sed,有什么建议吗? 谢谢
【问题讨论】:
-
这个问题没有任何意义。
-
@123 我需要以这种方式制作文件以供以后处理,只是想知道使用 bash 是否会有一些更简单的方法......或者我应该举更多例子吗?
-
他的意思是这个问题是一个不清楚的不是你必须使用这种格式的兴趣。输出未显示您的解释指定的内容。制表符和逗号对您来说是什么?逗号和制表符通常是列分隔符(CSV 系列)
-
所以你需要将
\t转换成\n和,转换成\t或者几个空格? -
@NeronLeVelu,我修改了例子让它更友好,希望你能把输入和输出联系起来
标签: bash awk sed multiple-columns comma