我有一条线需要替换为;
arguments = ("-e", "-d", "user@domain.com", "-m", "user@xxx.com",)
到
arguments = ("-e", "-d", "user@domain.com", "-m", "user XXX)
我只需要更改'@'字符串的第二部分
THX yael
答案 0 :(得分:0)
你可以试试下面的sed命令,
$ echo 'arguments = ("-e", "-d", "user@domain.com", "-m", "user@xxx.com",)' | sed 's/@\([^.@]*\)\.[^"@]*\([^@]*\)$/ \U\1\2/g'
arguments = ("-e", "-d", "user@domain.com", "-m", "user XXX",)
或强>
$ echo 'arguments = ("-e", "-d", "user@domain.com", "-m", "user@xxx.com",)' | sed 's/^\([^@]*@[^@]*\)@\([^.@]*\)\.[^"@]*\([^@]*\)$/\1 \U\2\3/g'
arguments = ("-e", "-d", "user@domain.com", "-m", "user XXX",)
<强>更新强>
$ echo 'arguments = ("-e", "-d", "user@domain.com", "-m", "user@xxx.com",)' | sed 's/^\([^@]*@[^@]*\)@\([^.@]*\)\.[^"]*.*$/\1 \U\2)/g'
arguments = ("-e", "-d", "user@domain.com", "-m", "user XXX)