搜索模式" = [char] [string]"在文件中使用awk

时间:2014-07-23 21:56:05

标签: bash

我正在使用awk,我简单地希望匹配以下内容:“= string”而NOT“= string”,例如说我有这样的文件:

    mike =string
    mike = string
    mike = string
    mike =string
    mike = string

我想要以下输出:

    mike =string
    mike =string

注意:string是密码字段,所以它可以是mike = [[:alum:]] ...

出于某种原因,我无法弄清楚这一点!提前谢谢!

更新:答案:

    awk '/=[[:alnum:]]/' file

因为我正在寻找在'='符号后没有空格的AIX passwd文件中的不正确行。我需要像这样打印该用户的行:

    awk -v RS= -v ORS='\n\n' '/password =[[:alnum:]]/' shadow.aix

1 个答案:

答案 0 :(得分:1)

这个awk应该可以工作:

awk '/=[[:alnum:]]/' file

或此grep也可以使用:

grep '=[[:alnum:]]' file

更新:根据您更新的问题,您可以使用此awk:

awk -F ' *= *' -v OFS=' =' '{print $1, $2}' file
mike =string
mike =string
mike =string
mike =string
mike =string