【发布时间】:2021-10-16 00:02:15
【问题描述】:
例如,假设我有以下几行:
1,r,other,columns,....,
4,w,...,
2,w,etc...
3,r
1,w
2,r
我希望将我的输出写入文件(或覆盖现有文件)为:
1,r/w,other,columns,....,
4,w,...,
2,r/w,etc...
3,r
到底哪里的顺序不重要。
逗号作为分隔符的行的第一“行”是要匹配的模式,一旦匹配,一个将有'r'和另一个'w'作为它们的第二行,我想将它们组合成一行上面的例子。
更新
我已经设法让它与命令一起工作:
awk -F, '{a[$1]=a[$1]?a[$1] OFS $2:$2} END{for (i in a) print i FS a[i]}' OFS="/" file
但是,这会删除第二个之后的所有其他列,我该如何保留这些列?
【问题讨论】:
-
我找到的最接近的问题:stackoverflow.com/questions/56716292/… 尝试根据您的用例调整它并询问您是否遇到问题
标签: awk command-line