sed-如何替换行中的第一个单词并保留缩进?
对于所有具有sed-如何替换行中的第一个单词并保留缩进?,sed,Sed,对于所有具有.to的行,我想在开头添加expect() 例如 blob.to 20 leave me Thing.to(30) Other.to {all} leave me tooo far_in.to stuff 我想看看: expect(blob.to 20 leave me expect(Thing.to(30) expect(Other.to {all} leave me tooo expect(far_in.to stuff 目前我
.to
的行,我想在开头添加expect(
)
例如
blob.to 20
leave me
Thing.to(30)
Other.to {all}
leave me tooo
far_in.to stuff
我想看看:
expect(blob.to 20
leave me
expect(Thing.to(30)
expect(Other.to {all}
leave me tooo
expect(far_in.to stuff
目前我有:
sed -i '/.to/s/^[[:space]]*/expect(/' ../_spec_seded/"$file"
但是我得到了sed:-e表达式#1,char 28:unterminated
s'命令`
从中
如何解决我还没有看到的错误,并在进行此类替换时“保留”空格
如果您可以排除具有}.to而不是[除“}”以外的任何字符]to的行,将获得额外的奖励
n、 b.我单独处理结帐事宜
p、 您的前导空格消失了,因为您选择不保留它们。您可以说:
sed '/.to/ s/^\([[:space:]]*\)/\1expect(/' filename
sed '/\.to/ s/\(\S\)/expect(\1/' filename
或者,你可以说:
sed '/.to/ s/^\([[:space:]]*\)/\1expect(/' filename
sed '/\.to/ s/\(\S\)/expect(\1/' filename
对于您的输入,它将导致:
expect(blob.to 20
leave me
expect(Thing.to(30)
expect(Other.to {all}
leave me tooo
expect(far_in.to stuff
如果您可以排除具有}.to而不是 [除“}”以外的任何字符]。到 如果我理解正确,你想说:
sed '/[^}]\.to/ s/\(\S\)/expect(\1/' filename
你的前导空格消失了,因为你选择不保留它们。你可以说:
sed '/.to/ s/^\([[:space:]]*\)/\1expect(/' filename
sed '/\.to/ s/\(\S\)/expect(\1/' filename
或者,你可以说:
sed '/.to/ s/^\([[:space:]]*\)/\1expect(/' filename
sed '/\.to/ s/\(\S\)/expect(\1/' filename
对于您的输入,它将导致:
expect(blob.to 20
leave me
expect(Thing.to(30)
expect(Other.to {all}
leave me tooo
expect(far_in.to stuff
如果您可以排除具有}.to而不是 [除“}”以外的任何字符]。到 如果我理解正确,你想说:
sed '/[^}]\.to/ s/\(\S\)/expect(\1/' filename
这可能适用于您(GNU-sed):
这可能适用于您(GNU-sed):
对我来说没有问题。只需将
[[:space]]
更改为[[:space:]]
。嗯,dns显示U&L在其他站点上升时对我来说仍然下降。对我来说没有问题。只需将[:space]
更改为[:space:]
。嗯,dns显示U&L在其他站点上升时对我来说仍然下降。