Linux
需要一個 sed 或 perl 命令來替換以某些文本開頭的行
我正在尋找 sed 或 perl 命令以在多個伺服器上的文件中查找以特定文本開頭的行,然後替換整行。這些行總是以相同的字元串開頭,但其餘的可能不同。所以我需要一些與開頭相匹配的東西,然後替換一切。
例如
伺服器 1:我的文件.txt
SAMail: root@root.com
伺服器 2:我的文件.txt
SAMail: none@none.com
伺服器 3:我的文件.txt
SAMail: help@help.com
我需要一個在所有三台伺服器上的 My 中找到“SAMail:”
file.txt
並替換為的命令SAMail: test@test.com
sed
如果我理解正確,這是一種可能性:輸入
SAMail: none@none.com foo: foo@foo.com foo SAMail
sed '/^SAMail/s;[^ ]*$;test@test.com;' "My file.txt"
輸出:
SAMail: test@test.com foo: foo@foo.com foo SAMail