在 Unix 中屏蔽文件中的帐号

问题描述 投票:0回答:0

我有一个包含一些敏感信息的文件。对于从第 13 位开始以 622 或 623(帐户类型)开始的行,接下来的 17 个位置代表银行帐号。我如何掩盖这些,只留下第一个数字可见(即,仅第 13 个位置)?而且没有数字的时候我不想屏蔽。

622275222239526268336        2222233753               KENISTAR MATHEWS K      2273222282222223
6222752797343472392222       2222585755               KENISTAR MATHEWS K      2273222282222222
623275222222382376376832     2222992454               JOLIVATTA ANGALA M R    2273222282222223
6222732256632226894265       2222274283               DICK HILANY A           2273222282222226
62227527335627353476         2222722222               DILKAS GEOFFRAY OWEN    2273222282222227
82200079292247664919000000000000006530164656C390806261                         071000280000001
9000001000794000079292247664919000000000000006530164656   

处理后的预期结果

6222752222395XXXXXXXX        2222233753               KENISTAR MATHEWSS K     2273222282222223
6222752797343XXXXXXXXX       2222585755               KENISTAR MATHEWSS K     2273222282222222
6232752222223XXXXXXXXXXX     2222992454               JOLIVATTA ANGALA M R    2273222282222223
622275273356XXXXXXXXX        2222722222               DILKAS GEOFFRAY OWEN    2273222282222227
622275273356XXXXXXXXXXXXXXX  2222722222               GEOFFREY JOHN           2273222282222365
82200079292247664919000000000000006530164656C390806261                         071000280000001
9000001000794000079292247664919000000000000006530164656   

我尝试了 sed -r '/^622/ s/^(.{12}).{17}/ XXXXX/' file.EM

sed:非法选项——r

sed '/^622/ s/^(.{12}).{17}/ XXXXX/' 文件.EM

sed:命令乱码:/^622/s/^(.{12}).{17}/XXXXX/

unix masking
© www.soinside.com 2019 - 2024. All rights reserved.