如何从文件中删除特殊字符串?
How to remove a special string from a file?
我正在尝试删除以下两行:
<STREAMINFO> 1 39
<VECSIZE> 39<NULLD><MFCC_D_A_0><DIAGC>
在文件夹 hmm0 的 tex 文件 (hmmdefs) 中重复多次。
我怎么能在 UNUX 中做到这一点?
尝试分别删除每次,但是当运行命令行中的以下命令时:
sed "<STREAMINFO> 1 39" hmm0/hmmdefs
我收到以下错误:
sed: 1: "<STREAMINFO> 1 39": invalid command code <
您需要使用 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
我正在尝试删除以下两行:
<STREAMINFO> 1 39
<VECSIZE> 39<NULLD><MFCC_D_A_0><DIAGC>
在文件夹 hmm0 的 tex 文件 (hmmdefs) 中重复多次。
我怎么能在 UNUX 中做到这一点?
尝试分别删除每次,但是当运行命令行中的以下命令时:
sed "<STREAMINFO> 1 39" hmm0/hmmdefs
我收到以下错误:
sed: 1: "<STREAMINFO> 1 39": invalid command code <
您需要使用 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