加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – Awk跳过空白行

发布时间:2020-12-14 06:37:20 所属栏目:百科 来源:网络整理
导读:我的脚本的输出是使用awk作为标签分隔的: awk -v variable=$bashvariable '{print variable"t singlet" $0"t double"}' myinfile.c awk命令在while循环中运行,该循环在每个周期更新变量值和文件myinfile.c。 我得到了这个命令的预期结果。 但是如果inmy
我的脚本的输出是使用awk作为标签分隔的:
awk -v variable=$bashvariable  '{print variable"t singlet" $0"t double"}' myinfile.c

awk命令在while循环中运行,该循环在每个周期更新变量值和文件myinfile.c。
我得到了这个命令的预期结果。
但是如果inmyfile.c包含一个空行(它可以包含),它不会打印相关信息。我可以告诉awk忽略空白行吗?

我知道可以通过从myinfile.c中删除空行,然后将其传递给awk。
我知道sed和tr方式,但是我想要awk在上面提到的命令本身,而不是一个单独的解决方案如下或一个管道的。

sed '/^$/d' myinfile.c
tr -s "n" < myinfile.c

提前感谢您的建议和回复。

有两种方法可以尝试过滤掉行:
awk 'NF' data.txt

awk 'length' data.txt

只要把这些在你的命令的开始,即,

awk -v variable=$bashvariable 'NF { print variable ... }' myinfile

要么

awk -v variable=$bashvariable 'length { print variable  ... }' myinfile

这两个都作为守门人/ if-statement。

第一种方法只能打印出字段数(NF)不为零(即大于零)的行。

第二种方法查看线长度,如果长度不为零(即大于零)则起作用

您可以选择最适合您的数据/需求的方法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读