如何识别bash文件的各个部分



我有一个这样的文件:

fail  
test1
test2
test3
pass
test1
test2
test3
notrun
test1
test2
test3

请注意,在这个文件中总会有一个空格。

这个文件是由bash中的一个外部脚本自动生成的,所以我想把这个文件分成3个文件,以便更容易地分析这些信息,但我不知道怎么做。我在想,在一个文件中获取所有通过的测试,在其他文件中获得所有失败的测试,而不在第三个文件中运行测试,我对bash有很好的了解,但我不知道如何做到这一点,甚至你可以向我展示更好的方法。并且必须是bash脚本:)

请允许我在此中提供帮助

awk与空RS(记录分隔符)一起使用更简单:

awk -v RS= 'NF{print > "file" NR}' file

然后验证结果:

cat file1
fail
test1
test2
test3
cat file2
pass
test1
test2
test3
cat file3
notrun
test1
test2
test3

最新更新