2
只有连字符后面跟2位以上的字符,才能删除连字符?只有连字符跟在2位以上时,才能删除连字符之间的连字符
输入:
101|9881|Customer contact on 12-01-2015|AXD
102|9882|Declined sales. 122-333-1234 contact|XYZ
输出:
101|9881|Customer contact on 12-01-2015|AXD
102|9882|Declined sales. 1223331234 contact|XYZ
我已经使用这个......
sed 's/([0-9])-([0-9])/\1\2/g' inputfile
,但它所有的复姓数字替换连字符。
请帮忙吗?
为什么不应该'12-01-2015'转换为'12-012015'?第二个连字符后跟2个以上的数字。挂断 - 你的主题说'连字符超过2位数字',但你的文字说'连字符后面跟着超过2位数字'。你要哪个?或者它或者两者兼而有之? –
基本上它背后的想法是保持日期原样,并结合日期以外的其他数字。 – Syeda
然后,该方法应该简单地从任何与日期正则表达式不匹配的数字和连字符串中移除连字符,例如,在awk中它会是'/ [0-9 - ] +/&&!/ [0-9] {2} - [0-9] {2} - [0-9] {4} /'。无论如何,看起来你有一个你很满意的答案... –