unix命令替换两个定界符位置之间的任何内容

时间:2019-03-27 16:39:44

标签: linux

请使用unix命令帮助我替换两个定界符位置之间的任何内容。 例如:我有多个文件,且文件头数据如下,我想在第9和第10位的*分隔符之间替换数据

ISA*00*          *00*          *ZZ*80881          *ZZ*TNC0022        *190115*1237*^*00501*000320089*0*P*|~

我的输出应如下所示:

ISA*00*          *00*          *ZZ*80881          *ZZ*TNC0022        *190327*1237*^*00501*000320089*0*P*|~

1 个答案:

答案 0 :(得分:-1)

尝试一下:

perl -pe 's/^((?:[^*]*\*){9})([^*]+)(.*)/${1}190327$3/'

正则表达式搜索9次出现的{9},但不是星星[^*]的所有事件\*,然后是星星[^*]+,并将所有这些存储在第一个捕获组中。第二次捕获是至少一个字符不是星星${1}。第三个捕获是该行的其余部分。

匹配的行将替换为第一部分190327,新值$3和第三部分 wrapper.find('CLASS YOUR TESTING').find('Select').at(1).props().onChange({ accountBody:{ LOA:{ Documents:{ Signers:[], } } } })