我有一个包含以下各行的文本文件。
Maynard G. Krebs , ss #111−22−3333, the goofy but lovable beatnik in The Many
Loves of Dobie Gillis. None of the show's episodes ever specified Gilligan's
如何使用sed的更换数量#111-22-3333
与xxx-xx-xxxx
?
这就是我的sed脚本中的内容:s/([0-9]{3}-[0-9]{2}-[0-9]{4})/xxx-xx-xxxx/g
我使用sed -f redact.sed redact.txt
删除括号,否则Sed将尝试匹配文件中的括号。
{n}
是扩展正则表达式的一部分。给Sed-E
标记以启用它们(sed -Ef redact.sed redact.txt
),或转义每个大括号。
请注意,您的文件包含某种破折号(0xE28892):它不是很好的旧0x2D ASCII -
,因此您也需要将其放入Sed表达式中。
sed 's/[0-9]\{3\}−[0-9]\{2\}−[0-9]\{4\}/xxx-xx-xxxx/g'
sed -E 's/[0-9]{3}−[0-9]{2}−[0-9]{4}/xxx-xx-xxxx/g'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句