Sed 如何全局替换不以特定模式开头的行中的字符串
我想使用sed用字符串栏全局替换字符串foo。这仅适用于不以字符串##输入开头的行 我不能让它工作。我尝试过这样的事情,但我不确定自己是否知道自己在做什么:Sed 如何全局替换不以特定模式开头的行中的字符串,sed,Sed,我想使用sed用字符串栏全局替换字符串foo。这仅适用于不以字符串##输入开头的行 我不能让它工作。我尝试过这样的事情,但我不确定自己是否知道自己在做什么: sed -i '/^##Input/ s/foo/bar/g' myfile 请帮忙 你必须逃脱,就像在\\\code>你只需要用否定匹配: sed -i '/^##Input/! s/foo/bar/g' myfile 丑陋请求的丑陋回答(即他们得到了他们所要求的): 没有必要逃避#。它对sedsed没有特殊意义。这非常有用!我没有意
sed -i '/^##Input/ s/foo/bar/g' myfile
请帮忙 你必须逃脱,就像在
\\\code>你只需要用否定匹配代码>:
sed -i '/^##Input/! s/foo/bar/g' myfile
丑陋请求的丑陋回答(即他们得到了他们所要求的):
没有必要逃避#
。它对sedsed
没有特殊意义。这非常有用!我没有意识到,在您运行搜索并替换该行之前,您可以为sed提供与该行匹配的输入。这对我帮助很大@bballdave025:有关更多信息,请参阅GNUsed
手册的一节。
echo \{
for file in *.json; do
sed -n '/^[\{\}]/! s/\([^\,]\)$/\1,/; /^[\{\}]/!p' $file
done
echo \{