我需要找出文件中是否有任何一行在第五列中的值为0。此列中的值均为数字:
cat /home/vsrchops/Usrlogin_1.csv | awk '{print $5}'
8
8
1
4
2
8
23
61
473
1465
1771
2200
字符串
我尝试了这个命令:
cat /home/vsrchops/Usrlogin_1.csv | awk '{print $5}' | grep 0
型
但是它匹配所有包含 * 0的行,而不是那些 * 恰好 * 0的行:
2200
型
如何找到恰好为零的值?
4条答案
按热度按时间eeq64g8w1#
首先,
cat
命令是不必要的,因为我们可以使用<
来重定向AWK的输入以从文件中读取。我们可以修改
grep
命令来匹配行的开始和结束,如下所示:字符串
这里,
^
匹配行的开始,$
匹配行的结束。或者我们可以使用
grep
选项来匹配整行:型
这两个选项中的任何一个都只匹配那些正好为0的行。
或者,我们可以避免创建
grep
进程,而完全在AWK中进行匹配:型
这可能是最简单和最有效的解决方案。
ltqd579y2#
个字符
_!!_
实际上是空字符串_
与数字零(!!_
)的字符串连接,以形成字符串零("0"
)这种方法不适用于
$5 == "00"
$5 == "+0"
这样的场景e5nszbig3#
短一点:
字符串
(匹配
0
,e。例如0
或00
)yftpprvb4#
在AWK中使用if语句怎么样?
字符串