【发布时间】:2016-04-17 06:10:03
【问题描述】:
我有一个包含信用卡号(16 个字符)的文件,我想找到它们并将除前 6 个和后 4 个数字之外的所有内容替换为“X”。
sed -i 's/\([345]\{1\}[0-9]\{3\}\|6011\)\{1\}[ -]\?[0-9]\{4\}[ -]\?[0-9]\{2\}[-]\?[0-9]\{2\}[ -]\?[0-9]\{1,4\}/\XXXXXX/g' foobar.csv
将轻松找到文件中包含的所有信用卡并将其替换为“XXXX”
但我想找到信用卡并将字符串的第 7-12 个字符替换为“X”,因此该文件将包含像 123456XXXXXX7890 这样被屏蔽的信用。
示例输入行:
jam peanut boat handbag on the shore in Tuesday 4548640040302006 in the morning jimmy
示例输出行:
jam peanut boat handbag on the shore in Tuesday 454864XXXXXX2006 in the morning jimmy
【问题讨论】:
-
请在您的问题中添加示例输入和该示例输入所需的输出。
-
示例输入行:“周二早上岸上的果酱花生船手提包 4548640040302006 早上吉米” 示例输出行:“周二早上岸上的果酱花生船手提包 454864XXXXXX2006 吉米”跨度>
标签: sed replace position credit-card anonymize