awk 'NF' urfile过滤空行,awk下面的变量NF和$NF有什么区别?

jackxiang 2009-12-30 17:45 | |
who am i 2>/dev/null| awk '{print $1,$NF}'
xiangdong (10.65.1.154)
"NF" 代表 Awk 中的一个内置变量,表示当前记录(行)中的字段数(即列数)。在这种上下文中,"NF" 的值表示当前行中的最后一个字段的索引。通过 "$NF",你可以引用当前行中的最后一个字段的值。
who am i
xiangdong pts/1        2023-08-15 15:06 (10.65.1.154)


刚看了SHELL中的awk部分
现在想过滤文件中的空行输出
自己写的两个:
awk '{if($0 !~/^$/)print $0}' test.txt
awk '{if(NF>0)print $0}' test.txt
试了下,可以输出正确结果,但不知道完善不完善或是大家有没有更好的命令


awk '!/^$/' urfile

awk 'NF' urfile

awk '/./' test
awk '!/^$/'  218_219_test.txt


awk 'NF' urfile
真NB!~ 学习·~~
另外两个awk的, 如果有TAB的话不能过滤出去

自己使用:


awk 'NF' 218_219_test.txt


这个简单而且靠谱!

NF和$NF 区别问答:

1.awk中$NF是什么意思?
#pwd
/usr/local/etc
#echo $PWD|awk -F/ '{print $NF}'
etc
我明白NF的意思:浏览记录的域的个数,但我不明白$NF的意思。请高手指教!
回答:就是最后一个Field呗。


2.awk下面的变量NF和$NF有什么区别?
{print NF} 也有{print $NF}
答:
前者是输出了域个数,后者是输出最后一个字段的内容
如:~# echo $PWD | awk -F/ '{print $NF}'
root



作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2427/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2023-8-15 15:41
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]