这个问题可能已被列出,但我无法找到一个确切的命中。
我试图浏览一个文件,匹配一个模式并用其他东西替换它。但是,还有其他模式出现,但我只需要替换那些长度为 17 个字符的模式。
例子:
内容:
dlkfhfd|fedfe|dfwe3f347fde|3745978|dlkfhr**|376663781736102|**fedfe|dfwe3f347fde
Run Code Online (Sandbox Code Playgroud)
期待:
dlkfhfd|fedfe|dfwe3f347fde|3745978|dlkfhr**|37xxxxxxxxxxxxx|**fedfe|dfwe3f347fde
Run Code Online (Sandbox Code Playgroud)
进展:我能够将表达式与正则表达式模式匹配: **\|37[0-9]{13}\|**
但是,如果我将它放在 . 中sed,它只会替换文件中的所有内容。
sed -e s/\|37[0-9]{13}\|/\|37xxxxxxxxxxxxx\|/g
Run Code Online (Sandbox Code Playgroud)
我的 sed 版本是 4.2.2