在bash中删除空行后丢弃所有文本

时间:2013-12-08 10:01:50

标签: bash

使用bash,我想在第一个空白行之后丢弃文件中的所有文本。空行用作记录之间的分隔符,我只想要文件中的第一条记录。不幸的是,每条记录的行数可能会根据记录的确切含义而改变,因此我不能将第一个 n 行保留为全局解决方案。

[编辑]这是一个有效的解决方案:

qstat -f > out.tmp
grep -A90 -B0 $1 out.tmp > out2.txt
awk '/^$/{exit}{print}' out2.txt
rm out.tmp out2.txt

其中$ 1指向要分析的文本文件的名称(作为参数传递给我正在编写的脚本)。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用几乎任何通用文本处理工具执行此操作,例如:

awk '$0==""{exit}{print}'
awk '/^$/{exit}{print}'
sed '/^$/q'