【发布时间】:2017-10-28 13:16:48
【问题描述】:
数据.txt:
aaab;10
bbbc;20
abc;30
cc;40
pattern.txt:
aaa
aa
bbb
ccc
3
c+
想要的输出:
aaab;10;2
bbbc;20;2
abc;30;1
cc;40;1
因此,如果pattern.txt中的任何字符串存在于data.txt的column1中,则在data.txt中追加2,如果不存在,则追加1。字符串可以或多或少包含字母、数字、空格等任何字符。
【问题讨论】:
-
您输入的文件格式不一致,分隔符是
:或;或两者兼有。一组是否有意在行尾有一个分隔符而另一组没有?或者,监督? -
@karakfa,你是对的,分隔符应该是
;抱歉打错了,我现在在原问题的四个地方用;替换了; -
@EdMorton 感谢您的帮助,我添加了数据来说明其他问题!
-
@EdMorton 很好,试过了,它产生了误报,因此,它输出行“cc;40;2”而不是“cc;40;1”(应该输出后者) .再次感谢!
标签: string file awk pattern-matching