我有一个包含一些敏感信息的文件。对于从第 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/