在awk中查找变量内部是否有空格



我正在寻找一个命令,该命令将获得awk中变量中是否存在空格的结果。我不是在寻找

 split(variable,array," ") 

然后遍历这个数组来找到它。。我正在寻找一种更有效的方法。有人能为我介绍一下吗。非常感谢。

您可以使用awk index()字符串函数来搜索目标字符串:

$ awk 'BEGIN{var="ga p";if(index(var," ")>0) print "Space"; else print "No space"}'
Space
$ awk 'BEGIN{var="gap";if(index(var," ")>0) print "Space"; else print "No space"}'
No space

从上面的文档:

索引(in,find)

这将在中的字符串中搜索该字符串的第一次出现find,并返回位置(以出现该事件的字符为单位)从中的字符串开始…如果find是而不是,则index返回0。

使用awks内置正则表达式引擎:

variable ~ / /

最新更新