使用sed删除行,未知命令错误

时间:2015-07-23 18:19:43

标签: regex bash shell sed

我试图在模式匹配上删除4个后续行 要匹配的模式是我从其他文件中逐行读取的内容。

我的脚本如下所示:

#! /bin/bash     

while read line; do
    cat database.US_en_test | sed "/$line/ , +4d"  >> output 
done < file_del.txt

但是,我收到的错误如下:

sed: -e expression #1, char 20: unknown command: `1'

不确定错误是什么,请帮助!

1 个答案:

答案 0 :(得分:0)

可能导致地址错误的唯一字符是模式中的额外/

使用GNU sed,您可以使用另一个字符作为分隔符:选择一个您知道并且在file_del.txt中找不到的字符,并在您的地址中用反斜杠作为第一个分隔符的前缀:

sed "\_$line_, +4d"