2017-05-19 36 views
0

错误的地方,我有以下行的脚本:删除与sed的产生“额外的字符”在OSX

sed -i.bak '2,${/rate = 3/d}' $FILENAME 

目的是执行删除时跳过文件的前几行。我收到以下错误:

sed: 1: "2,${/rate = 3/d}": extra characters at the end of d command 

我该如何才能按预期工作?

+0

做OSX上这项工作确认好吗? 'seq 5 | sed'2,$ {/ [35]/d}''适用于gnu sed ....可能语法不同? – Sundeep

+0

@Sundeep nope,同样的错误。也许我只需切换到GNU sed。 – ssb

+1

我隐约记得看到它所以......像'seq 5 | sed -e'2,$ {'-e'/ [35]/d'-e'}''...检查'man sed',可能有关于构建此类序列的详细信息 – Sundeep

回答

1

使用;应该帮助

$ seq 5 | sed '2,${/[35]/d;}' 
1 
2 
4 

由于@CRD以及在评论