我想使用sed全局用字符串bar替换字符串foo。只应对不以字符串## Input。
开头的行进行此操作我无法让它发挥作用。我尝试过这样的事情,但达到了我不确定我是否知道自己在做什么的一点:
sed -i '/^##Input/ s/foo/bar/g' myfile
请帮忙!
答案 0 :(得分:66)
您只需要使用!
否定匹配:
sed -i '/^##Input/! s/foo/bar/g' myfile
答案 1 :(得分:-4)
你必须像\#
一样逃避#。
答案 2 :(得分:-5)
一个丑陋的请求的丑陋答案(即他们得到他们要求的):
echo \{
for file in *.json; do
sed -n '/^[\{\}]/! s/\([^\,]\)$/\1,/; /^[\{\}]/!p' $file
done
echo \{