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

时间:2015-12-23 21:31:28

标签: linux bash ubuntu

我有一个这样的文件:

fail  
test1
test2
test3

pass
test1
test2
test3

notrun
test1
test2
test3

请注意,在此文件中始终会有空格。

此文件由bash中的外部脚本自动生成,因此我想将此文件拆分为3个文件,以便更轻松地分析此信息,但我不知道如何。我想在一个文件中抓取所有通过测试,所有在其他文件中的失败测试,​​而不是在第三个文件中运行测试,我对bash有很好的了解,但我不知道怎么做,甚至你可以显示我是一个更好的方法。 并且必然需要使用bash脚本:)

我将非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

使用awk与null 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