Требуется замаскировать некоторые конфиденциальные данные из файла журнала, приведенный ниже код работает должным образом, когда awk
версия 4.0.2.
Я буду grep
обрабатывать файлы журналов, а затем должен маскировать некоторые данные с помощью шаблона, как указано в приведенном ниже awk
фрагменте, а затем возвращать результат.
echo "123-123-432-123-999-889 and 123456 and 1234-1234-4321-1234 and [email protected]" | awk ' gsub (/[0-9]{6,}|([0-9]{3,}.){3,}|\w{2,}@\w{2,}.\w{2,}/, "****") 1'
То же самое не работает в версии awk
3.1.7, которая является версией рабочего сервера.
Я могу использовать только grep, cat, awk
, и у меня нет разрешения на использование perl
или sed
, так как оно ограничено командой администраторов.
Ожидаемый результат:
****and **** and ****and ****
Решение также должно работать, если содержимое находится в файле, например
sample.log
123-123-432-123-999-889
and
123456
and
1234-1234-4321-1234
and [email protected]
Команда:
cat sample.log | awk ' gsub (/[0-9]{6,}|([0-9]{3,}.){3,}|\w{2,}@\w{2,}.\w{2,}/, "****") 1'
Пожалуйста, помогите мне с awk, который может работать в 3.1.7 версии awk
>file
. Запрещать команды смешно. - person 123   schedule 04.01.2018