awk处理筛选内容

原创 2016年08月30日 11:24:00

我们NIS服务器上很多帐号无效之后只删除了passwd文件里的帐号名,group文件没有修改,导致现在很多不存在的IDgroup里面加入了很多组。现在要把这些无效IDgroup文件移除,请问有什么好办法

 

举例:

passwd

aaa:59029:59029::/local/aaa:/bin/bash

bbb:59030:59030::/local/bbb:/bin/bash

ccc:59031:59031::/local/ccc:/bin/bash

 

group:

group1::341:aaa,bbb

group2::341:ccc,ddd

group3::341:bbb,eee

 

现在如何把不存在的帐号dddeee删除呢 ?

处理办法:

awk -F':' 'NR==FNR{a[$1]=1;next}{t=split($NF,b,",");g="";for(i=1;i<=t;i++)if(a[b[i]]){g=g?g","b[i]:b[i];$NF=g}}1' passwd  group

这种处理方法:需要注意的是 如果在处理文本的过程中需要有多个或者一个的情况,这时候三元表达式是比较好的处理方式。     

版权声明:本文为博主原创文章,未经博主允许不得转载。

shell文本过滤编程(三):awk之条件判断

【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 在之前grep章节中用到很多正则表达式,这一节将在awk条件操...
  • gentleliu
  • gentleliu
  • 2014年08月25日 15:34
  • 10473

awk根据列筛选列内容

file: A B 123C D 123E F 123 G H 123I J K 1 2  3      4    5   6   7   1  1   1   1  1 1 2  1     ...
  • xuejinliang
  • xuejinliang
  • 2016年09月02日 16:01
  • 1826

awk对某列进行筛选

cat revenue_20160420.upd | awk -F"\t" '$4寻找第四列小于负100的行数
  • daijiguo
  • daijiguo
  • 2016年04月21日 15:39
  • 2435

awk筛选文本行

#!/bin/bash fileName=$* echo "searching files below:" echo $fileName awk -F, 'BEGIN{count=0;}{if($...
  • slovelinux
  • slovelinux
  • 2015年03月12日 22:57
  • 455

日志分析查看——grep,sed,sort,awk运用

概述        我们日常应用中都离不开日志。可以说日志是我们在排查问题的一个重要依据。但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了...
  • teamlet
  • teamlet
  • 2014年07月22日 17:39
  • 58953

java版本awk日志分析

  • 2014年06月04日 20:24
  • 46KB
  • 下载

awk数据处理整理

基础知识     1.基本程序结构     awk 程序是由若干个“模式”与“动作”所组成的,其执行方式是针对文件中的每一行(line)搜索指定的模式 (patterns),当一行中有符合指定的模式,...
  • fb408487792
  • fb408487792
  • 2015年04月26日 10:42
  • 1745

如何使用 awk 按模式筛选文本或字符串

在筛选文本时,有时你可能想根据某个给定的条件或使用一个可被匹配的特定模式,去标记某个文件或数行字符串中的某几行。使用 awk 来完成这个任务是非常容易的,这也正是 awk 中可能对你有所帮助的几个功能...
  • linuxnews
  • linuxnews
  • 2016年08月18日 17:50
  • 413

日志分析查看——grep,sed,sort,awk运用

概述        我们日常应用中都离不开日志。可以说日志是我们在排查问题的一个重要依据。但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了...
  • teamlet
  • teamlet
  • 2014年07月22日 17:39
  • 58953

Linux之强大的awk

来自【梦想家 Haima’s blog】awk简介awk是Linux中的一个命令,用来做文本处理与分析,功能简单强悍,同时它也是一门编程语言。 awk处理文本文件时,以行为单位,可以高效的对日志文件...
  • jh624
  • jh624
  • 2016年05月02日 16:00
  • 3836
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:awk处理筛选内容
举报原因:
原因补充:

(最多只允许输入30个字)