0

I want to use sed command to replace sensitive information in logs with ****. One of the log looks like:

"Log: abcservice : dataUsername generated is = QWE000387769@as.bbi.co\n","stream":"stdout""

The expected output I want is:

"Log: abcservice : dataUsername generated is = ******@as.bbi.co\n","stream":"stdout""

I tried:

sed 's#"dataUsername generated is [a-zA-ZO-9@.-]"#"dataUsername generated is = ******"#g"

How can I match the pattern "dataUsername generated is = QWE000387769@as.bbi.co" and replace it with "dataUsername generated is = ******@as.bbi.co\n"

1 Answers1

0

Using sed

$ sed -E 's/(dataUsername generated is = )[^@]*/\1******/' input_file
"Log: abcservice : dataUsername generated is = ******@as.bbi.co\n","stream":"stdout""
HatLess
  • 10,622
  • 5
  • 14
  • 32