【发布时间】:2014-08-23 12:25:48
【问题描述】:
我正在尝试在 bash 脚本中使用 awk 检查文件是否为空。文件为空的条件如下:如果文件的第一行只有字段值,后跟------(后面没有其他内容),那么它被认为是空的。
这是那个特殊文件的结构:
文件.txt
col1 col2 col3 col4 col5
------
到目前为止,这是我所拥有的:
awk '
{
if (NR > 2)
print "NOT EMPTY"
else
print "EMPTY"
}
' file.txt
我想要的输出是:
EMPTY
我得到的空是:
EMPTY
EMPTY
如何仅将EMPTY 作为一个输出?我知道这可能很简单,但我找不到任何东西。谢谢!
如果需要进一步解释,请告诉我。
编辑:此外,如果在 file.txt 中添加了额外的空白行,那么它将打印EMPTY ,因为有多少额外的行。有没有更通用的方法来解决这个问题?
【问题讨论】:
-
{ -> END{会有所帮助
标签: linux bash shell awk scripting