用sed和regex匿名化一些数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用sed和regex匿名化一些数据相关的知识,希望对你有一定的参考价值。

我需要匿名化一些数据。数据看起来像这样。

I-001;01firstname/lastname;;
  • 我知道该行以I-开头,而不是3个数字代码。
  • 在第一个分号之后,我们有一个需要保留的2位数字代码。

在第一个分号和2位代码之后,在第二个分号之前,需要更改输入。名字/姓氏需要替换为'abcd / 1234'。

期望的输出是:

I-001;01abcd/1234;;

有什么建议吗?

答案

此行应工作:

sed -r 's#(I-[0-9]{3};[0-9]{2})[^/]+/[^;]+;;#1abcd/1234;;#'

以上是关于用sed和regex匿名化一些数据的主要内容,如果未能解决你的问题,请参考以下文章

Sed + Regex 将匹配除以反引号开头的任何行

对PayPal输出使用RegEx表达式

AWK、SED、REGEX 重命名文件

BASH:如何在 sed 命令中对字符串使用 Regex Negative Lookahead?

创建片段而不从 java 代码实例化它

RegEx 替换适用于 Ruby gsub,但不适用于 sed