[英]RegEx for a multiple line search and replace using sed
我需要一个RegEx,它在行的中间找到一个\\n
作为起始点,之前的任何内容都是随机的,并在第二行的15位和49 alpha之后替换。 我需要用空格替换所有这些,但第二行需要与第一行连接。
sed -r -e '{N;s/\n[[:digit:]]{15}[[:space:]]{49}//}'
QC HOH 0H0 CA
:70:NOFX TRADE TR
100000100200621 ADE RELATED WOOD PURCHASE
需要删除的是交易TR之后的换行并将ADE RELATED带到TR以便它拼写交易。
QC H0H 0H0 CA
:70:NOFX TRADE TRADE RELATED WOOD PURCHASE
这可能适合你(GNU sed):
sed -E 'N;s/\n[[:digit:]]{15}[[:space:]]{49}//;P;D' file
如果substitute命令匹配,这将打开一个双行窗口并修改其中的第二个窗口。 它总是打印两行中的第一行,然后将其删除。
使用GNU sed:
$ sed -Ez 's/\n[[:digit:]]{15}[[:space:]]{49}//' file
QC J0B 2Y0 CA
:70:NOFX TRADE TRADE RELATED WOOD PURCHASE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.