如何将包含相同内容的行替换为相同内容(LINUX)?
如何用相同的内容替换包含内容的行 例如,我有一行随机的东西,并包含在该行(电子邮件) 我想把所有的行都换成电子邮件,比如说,所有的电子邮件都以(abuse@.*) 我的输出必须是如何将包含相同内容的行替换为相同内容(LINUX)?,linux,shell,Linux,Shell,如何用相同的内容替换包含内容的行 例如,我有一行随机的东西,并包含在该行(电子邮件) 我想把所有的行都换成电子邮件,比如说,所有的电子邮件都以(abuse@.*) 我的输出必须是 email: abuse@xx.com -random txt with no email- email: abuse@sdds.net -random txt with no email- email: abuse@sss.org -random txt with no email- 因此,搜索行已(abuse
email: abuse@xx.com
-random txt with no email-
email: abuse@sdds.net
-random txt with no email-
email: abuse@sss.org
-random txt with no email-
因此,搜索行已(abuse@.*)例如。abuse@xx.com
获取电子邮件,然后删除该行并放入
电邮:abuse@xx.com而不是那条线
在shell代码中,gsed-i(或者linux上的sed-i)会有用吗
$ cat substitute.txt
aaaaaaaaaaaaaa abuse@xx.com
-random lines with no email-
bbbbbbbbbbbbbb abuse@sdds.net
-random lines with no email-
cccccccccccccc abuse@sss.org
-random lines with no email-
$ cat substitute.txt | gsed -s "s/.*\(abuse\)/email: \1/"
email: abuse@xx.com
-random lines with no email-
email: abuse@sdds.net
-random lines with no email-
email: abuse@sss.org
-random lines with no email-
$ gsed -i.bak -s "s/.*\(abuse\)/email: \1/" substitute.txt
$ cat substitute.txt
email: abuse@xx.com
-random lines with no email-
email: abuse@sdds.net
-random lines with no email-
email: abuse@sss.org
-random lines with no email-
是的,您也可以这样做,大多数情况下,只需按住(h),按住并附加(h),然后抓住(g):
为我工作谢谢你。。。但是,如果我想保持该行不变,但在其后面添加新行(电子邮件:abuse@....... )
$ cat substitute.txt
aaaaaaaaaaaaaa abuse@xx.com
-random lines with no email-
bbbbbbbbbbbbbb abuse@sdds.net
-random lines with no email-
cccccccccccccc abuse@sss.org
-random lines with no email-
$ cat substitute.txt | gsed -s "s/.*\(abuse\)/email: \1/"
email: abuse@xx.com
-random lines with no email-
email: abuse@sdds.net
-random lines with no email-
email: abuse@sss.org
-random lines with no email-
$ gsed -i.bak -s "s/.*\(abuse\)/email: \1/" substitute.txt
$ cat substitute.txt
email: abuse@xx.com
-random lines with no email-
email: abuse@sdds.net
-random lines with no email-
email: abuse@sss.org
-random lines with no email-
ubuntu@ip-10-0-11-161:~/dev$ cat substitute.txt | sed -s "/\(.*\)\(abuse\)/{ h;s/.*\(abuse\)/email: \1/;H;g;}"
aaaaaaaaaaaaaa abuse@xx.com
email: abuse@xx.com
-random lines with no email-
bbbbbbbbbbbbbb abuse@sdds.net
email: abuse@sdds.net
-random lines with no email-
cccccccccccccc abuse@sss.org
email: abuse@sss.org
-random lines with no email-