我试图删除以下两行:
<STREAMINFO> 1 39
<VECSIZE> 39<NULLD><MFCC_D_A_0><DIAGC>
在文件夹hmm0中的texfile(hmmdefs)中重复多次。
我怎么能在UNUX中这样做?
尝试单独删除每次,但在命令行中运行以下命令时:
sed "<STREAMINFO> 1 39" hmm0/hmmdefs
我收到以下错误:
sed: 1: "<STREAMINFO> 1 39": invalid command code <
答案 0 :(得分:1)
您需要使用d
标志来删除与给定正则表达式匹配的行。并且不要忘记将正则表达式包含在/
分隔符中。
sed "/<STREAMINFO> 1 39/d" hmm0/hmmdefs
更具体地说,您需要添加锚点。
sed "/^<STREAMINFO> 1 39$/d" hmm0/hmmdefs
^
断言我们在开始时$
声称我们已经结束了。
示例:强>
$ cat file
<STREAMINFO> 1 39
<VECSIZE> 39<NULLD><MFCC_D_A_0><DIAGC>
foo bar
$ sed '/<STREAMINFO> 1 39\|<VECSIZE> 39<NULLD><MFCC_D_A_0><DIAGC>/d' file
foo bar