从文本文件中的第一个空白行开始删除所有内容

时间:2016-02-06 15:16:59

标签: regex linux unix text command-line

我有一个文本文件,我想从中删除所有以第一个空行开头的行,最好使用一些标准的Unix工具,如sed / awk。

3 个答案:

答案 0 :(得分:2)

使用Perl

perl -pe '/^\s+$/ and exit' < in.txt > out.txt

-p围绕使用while(<>) {在命令行上指定的脚本添加print }-e

答案 1 :(得分:1)

这应该有效:

awk '/^$/ {exit}{print}' < data

示例输入:

one two thre
four five six
seven

eight nine ten
eleven twelve
thirteen

fourteen fifteen
THE END

示例输出:

# awk '/^$/ {exit}{print}' < data
one two thre
four five six
seven

顺便说一句,如果您的“空行”可以包含空格和/或制表符,请使用:

'/^[ \t]*$/ {exit}{print}'

答案 2 :(得分:1)

使用sed:

$ sed -i '/^\s*$/,$d' file