我有一个这样的文件:
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