利用awk对身份证、手机号部分内容截取显示,隐藏敏感信息

本文介绍了一种在Linux环境下使用awk命令对Excel表格中的身份证号码及手机号进行脱敏处理的方法,通过具体实例展示了如何快速实现敏感信息的部分隐藏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这周遇到一点小情况,同事需要将一份excel表格里的身份证和手机号隐去部分。

例如:

[root@localhost ~]# cat ./id
张三 120108199001010023 13466666666
李四 120109189901010034 13800000000

需要做到如下效果:

张三 12010819******0023 134****6666
李四 12010918******0034 138****0000

于是我就在想,万一遇到紧急情况,没有excel的时候,那么我该如何在Linux中实现这个目标呢?

经过研究,可以利用awk这样写:

cat ./id | awk '{print $1" "substr($2,1,8)"******"substr($2,15)" "substr($3,1,3)"****"substr($3,8,4)}'

解释:

print $1:显示第一列,姓名。

substr($2,1,8)"******"substr($2,15):显示第二列从第一个字符起始,8位,显示星号,并显示15字符以后的所有内容(此处不可直接指定位数,否则会导致$3无法显示)。

后面的参见上一条。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值