在特定柱子和特定记录类型中掩盖数据



更新:

我有一个很大的文件。我需要掩盖特定帖子中的所有字符和特定的记录类型。我到处搜索过,但是找不到这个非常简单的任务的解决方案。这是一个示例

文件名:你好。txt

文件:

0120140206 intut文件
1032682842辛普森先生
20231458 742常绿露台
3034560817绿色
1032682842格里芬先生
20231458 Spooner Street
3034560817红色
3001

我想做的是从10开始掩盖所有线的位置12-16。这样:

0120140206 intut文件
1032682842 xxxxxmpson
20231458 742常绿露台
3034560817绿色
1032682842 xxxxxiffin
20231458 Spooner Street
3034560817红色
3001

尝试以下:

sed 's/^(10[0-9]+[ t]+).*$/1XXXXXXXXXXXXX/g'

示例:

sed 's/^(10[0-9]+[ t]+).*$/1XXXXXXXXXXXXX/g' <<< "0120140206INPUT FILE
1032682842 MR SIMPSON
20231458 742 Evergreen Terrace
9001"

使用awk:

awk '/^10/{q=substr($0, 12); gsub(/./, "*", q); $0=substr($0, 1, 11) q}1' file
0120140206INPUT FILE
1032682842 **********
20231458 742 Evergreen Terrace
9001

更新:如果仅要掩盖第一个10个记录,请使用此尴尬:

awk '!done && /^10/{q=substr($0, 12);gsub(/./, "*", q);$0=substr($0, 1, 11) q;done=1}1' file

相关内容

  • 没有找到相关文章

最新更新