中易网

shell脚本对文本文件中的手机号码脱敏处理

答案:1  悬赏:60  
解决时间 2021-11-16 06:48
例如文件如下
aa 18954321342 8618954321342
bb 18954321343 8618954321343

对文件中匹配到的手机号码(包括86开头)后四位进行变换,变换规则为:1->2,2->3,0->9,9->0。
变换后的文件文件为
aa 18954322453 8618954322453
bb 18954322454 8618954322454
最佳答案
awk 'BEGIN {convert["0"]="1";convert["1"]="2";convert["2"]="3"
convert["3"]="4";convert["4"]="5";convert["5"]="6"
convert["6"]="7";convert["7"]="8";convert["8"]="9"
convert["9"]="0"}
function subdigit(  tmp) {
         tmp=$0
         start=0
         while(match(tmp,/(^|[^0-9])[0-9]*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]($|[^0-9])/)>0)
         {
             start=start+RSTART+RLENGTH
             c=substr($0,start-1,1)
             if(match(c,/[^0-9]/)>0||start>length($0)+1) start=start-1
             tmp=substr($0,start)
             s=""
             for(i=1;i<=4;i++)
             {
                    c=substr($0,start-i,1)
                    c=convert[c]
                    s=c s
             }
             $0=substr($0,1,start-5) s substr($0,start)
         }
     }
     { subdigit($0)
        print $0}'   旧文件名 > 新文件名
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
哺乳期乳房刺痛怎么回事?
中国新闻专业较强的大学???????具体详
诺诚衣柜怎么样!用过的说下啊!
棱锥有几个顶点?是否符合欧拉定理?
什么材质丰胸最安全
16岁女,头痒,头屑多,还天天掉头发怎么办
上海肯德基招聘
不是说摩羯男最忠诚么,为何喜欢上我又喜欢上
梦见丢钥匙是什么意思?好不好呢?
全身的核磁共振对身体辐射大吗?
tinrry下午茶怎么做纸杯蛋糕
清汤寡水是什么意思啊?
假烟如何识别?
孩子被打了不会还手,也不跟老师说,回家跟妈妈
常熟叫花鸡怎么做啊?
推荐资讯
东阳南马加油站怎么去啊,有事要去办理
Helosehiskey.Itmadehimstayinthecoldtowaitf
余姚河姆渡遗址景色作文50字,求答案
什么什么然悔悟...急急急急!!
关于研究某地风力发电可行性的研究性学习该怎
《水浒传》中,锦毛虎指的是谁?
谁知道戴尔什么系列的笔记本好
wx112电阻22k和2k2有什么区别可以代用吗?__
宝宝身上起红疙瘩怎么办??
宋山木今年不会再去春晚了吧?
青岛环氧地坪漆哪家公司的价格实惠?
怎么用兆欧表测三相电机绕组和外壳电阻?是L
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?