如何使用sed将数字替换为字母

kevo885

我有一个包含以下各行的文本文件。

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-3333xxx-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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章