我正在寻找 sed 或 perl 命令来查找多个服务器上的文件中以特定文本开头的行,然后替换整行。这些行始终以相同的字符串开头,但其余部分可能不同。所以我需要一些与开头相当匹配的东西,然后替换所有内容。
例如
服务器1:我的文件.txt
SAMail: [email protected]
服务器2:我的文件.txt
SAMail: [email protected]
服务器3:我的文件.txt
SAMail: [email protected]
file.txt
我需要一个命令在所有三台服务器上的My 中查找“SAMail:”并替换为SAMail: [email protected]
答案1
sed
如果我理解正确的话,这是一种可能性:
输入
SAMail: [email protected]
foo: [email protected]
foo SAMail
sed '/^SAMail/s;[^ ]*$;[email protected];' "My file.txt"
输出:
SAMail: [email protected]
foo: [email protected]
foo SAMail