Shell 从测试套件中删除大量测试

Shell 从测试套件中删除大量测试,shell,replace,scripting,editing,Shell,Replace,Scripting,Editing,我有一个大约8000个测试的列表,我想从中删除某些测试子集(多达432个),这些测试现在已经通过,不再需要 测试条目采用以下格式 [img.hidden: setAttribute() to "" followed by IDL get] expected: FAIL [img.hidden: setAttribute() to " foo " followed by IDL get] expected: FAIL img.hidden: setAttribute()

我有一个大约8000个测试的列表,我想从中删除某些测试子集(多达432个),这些测试现在已经通过,不再需要

测试条目采用以下格式

  [img.hidden: setAttribute() to "" followed by IDL get]
    expected: FAIL

  [img.hidden: setAttribute() to " foo " followed by IDL get]
    expected: FAIL
img.hidden: setAttribute() to "" followed by IDL get
img.hidden: setAttribute() to " foo " followed by IDL get
我想删除的测试列表以以下格式提供给我

  [img.hidden: setAttribute() to "" followed by IDL get]
    expected: FAIL

  [img.hidden: setAttribute() to " foo " followed by IDL get]
    expected: FAIL
img.hidden: setAttribute() to "" followed by IDL get
img.hidden: setAttribute() to " foo " followed by IDL get
搜索和删除所有这些测试的条目的快速方法是什么

编辑: 请举例说明。参赛作品:

  [img.hidden: IDL set to undefined followed by hasAttribute()]
    expected: FAIL

  [img.hidden: IDL set to undefined followed by IDL get]
    expected: FAIL

  [img.hidden: IDL set to null followed by hasAttribute()]
    expected: FAIL

  [img.hidden: IDL set to null followed by IDL get]
    expected: FAIL

  [img.hidden: IDL set to 7 followed by IDL get]
    expected: FAIL
删除列表:

img.hidden: IDL set to undefined followed by IDL get
img.hidden: IDL set to null followed by IDL get
img.hidden: IDL set to 7 followed by IDL get
预期产出:

  [img.hidden: IDL set to undefined followed by hasAttribute()]
    expected: FAIL

  [img.hidden: IDL set to null followed by hasAttribute()]
    expected: FAIL

您可以使用
sed
作为

while read pattern
do 
sed -i "/$pattern/, +1 d" inputFile
done < test
读取模式时
做
sed-i“/$pattern/,+1d”输入文件
完成<测试
测试

$ cat input
[img.hidden: IDL set to undefined followed by hasAttribute()]
    expected: FAIL

[img.hidden: IDL set to undefined followed by IDL get]
    expected: FAIL

[img.hidden: IDL set to null followed by hasAttribute()]
    expected: FAIL

[img.hidden: IDL set to null followed by IDL get]
    expected: FAIL

[img.hidden: IDL set to 7 followed by IDL get]
    expected: FAIL

$ cat test
img.hidden: IDL set to undefined followed by IDL get
img.hidden: IDL set to null followed by IDL get
img.hidden: IDL set to 7 followed by IDL get

$ while read pattern; do sed -i "/$pattern/, +1 d" input ; done < test

$ cat input
[img.hidden: IDL set to undefined followed by hasAttribute()]
    expected: FAIL


[img.hidden: IDL set to null followed by hasAttribute()]
    expected: FAIL
$cat输入
[img.hidden:IDL设置为未定义,后跟hasAttribute()]
预期:失败
[img.hidden:IDL设置为未定义,后跟IDL get]
预期:失败
[img.hidden:IDL设置为null,后跟hasAttribute()]
预期:失败
[img.hidden:IDL设置为null,后跟IDL get]
预期:失败
[img.hidden:IDL设置为7,后跟IDL get]
预期:失败
$cat测试
img.hidden:IDL设置为未定义,后跟IDL get
img.hidden:IDL设置为null,后跟IDL get
img.hidden:IDL设置为7,后跟IDL get
$while读取模式;执行sed-i“/$pattern/,+1d”输入;完成<测试
$cat输入
[img.hidden:IDL设置为未定义,后跟hasAttribute()]
预期:失败
[img.hidden:IDL设置为null,后跟hasAttribute()]
预期:失败

这似乎不起作用,奇怪的是,它将我的输入文件变成了8000个空行。这是问题的一个例子。事实证明,将模式从
“/$pattern/,+1d”
更改为
“/$pattern/,+1d”
就可以解决问题。想知道为什么。。。?此外,每次测试后删除空行时,应改为
+2d
。@aakashjain空格不能有任何区别。两者都试过了,效果很好+2将删除2条线路+1对于试验后没有空行的情况可能更安全case@aakashjain不管怎样,我很高兴听到这有帮助:)