【发布时间】:2021-03-26 00:48:49
【问题描述】:
使用 shell 脚本,我正在尝试替换字符串的特定部分。
这是文件及其内容的摘录:
\"filename\":\"screenreader\"}', '{\"registration_email\":\"toto@toto.com\",\"read_page\":\"1\"
\"unique_pagination\":\"1\",\"registration_email\":\"toto@toto.com\",\"searchbox_enable\":\"0\",\
\"filename\":\"jspeed\"}', '{\"registration_email\":\"toto@toto.com\",\"combine_files_enable\":\"1\"
我想用另一个字符串替换所有 toto@toto.com 字符串。 但是字符串 toto@toto.com 不会系统地相同...可以是 tata@tata.com 或其他。
这是我在 shell 脚本中的 SED 命令:
sed -i -e 's/\\"registration_email\\":\\".*\\"/\\"registration_email\\":\\"TATATATATA\\"/g' file.txt
此命令有效,字符串被正确替换,但每行的末尾被删除,结果如下:
\"filename\":\"screenreader\"}', '{\"registration_email\":\"TATATATATA\"
\"unique_pagination\":\"1\",\"registration_email\":\"TATATATATA\",\
\"filename\":\"jspeed\"}', '{\"registration_email\":\"TATATATATA\"
预期结果应该如下:
\"filename\":\"screenreader\"}', '{\"registration_email\":\"TATATATATA\",\"read_page\":\"1\"
\"unique_pagination\":\"1\",\"registration_email\":\"TATATATATA\",\"searchbox_enable\":\"0\",\
\"filename\":\"jspeed\"}', '{\"registration_email\":\"TATATATATA\",\"combine_files_enable\":\"1\"
那么如何在不删除每行末尾的情况下替换字符串呢?
谢谢
【问题讨论】: