开发者社区> 问答> 正文

对条件语句执行awk命令

我正在使用Awk命令执行bash脚本,以使用一些用户信息来格式化文件,并且在脚本的开头,我希望它说“如果第1列中的值的格式不是abc123,请跳过该行虽然它似乎没有用。

我以前有这个:

$1=="UID" || $1=="rslavin" {
  next
}

但是对于使用不同用户名的其他输入文件当然不起作用。

因此,这是我最近尝试过的方法:

$1!=([a-z]{3}[0-9]{3}) {

 next

}

展开
收起
祖安文状元 2020-01-07 13:59:37 351 0
1 条回答
写回答
取消 提交回答
  • 在显示的Input_file中,我们正在讨论的列$2不是NOT $1,因此理想情况下应该是:

    awk '$2 !~ /[a-z]{3}[0-9]{3}/{next}.........' Input_file
    
    

    另外,如果您要同时检查小写和大写字母,请尝试:

    awk '$2 !~ /[a-zA-Z]{3}[0-9]{3}/{next}..........'  Input_file
    
    2020-01-07 13:59:49
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载