输入示例是:
ID: Value:a-1 49a-2 75b-1 120b-2 150b-3 211c-1 289d-1 301d-2 322
期望的输出示例是:
ID: Value:a 49,75b 120,150,211c 289d 301,322
我如何编写awk表达式(或sed或grep或其他东西)来检查ID是否匹配,然后将所有这些值打印到一行?我当然可以打印
将它们分成不同的列并稍后将它们组合起来,所以问题实际上只是有条件地打印,如果ID匹配,如果没有开始新的行.
awk 'NR==1 {print }NR > 1 {sub("-.*","",)}NR == 2 {prev=; printf "%s %s",,}NR > 2 && prev == {printf ",%s",}NR > 2 && prev != {prev=; printf "\n%s %s",}' your_input_file总结
以上是内存溢出为你收集整理的sed – Awk有条件地组合多行全部内容,希望文章能够帮你解决sed – Awk有条件地组合多行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)