【第22期】观点:IT 行业加班,到底有没有价值?

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

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

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

相关文章推荐

Linux 抓取网页实例(shell+awk)

上一篇博客讲了Linux抓取网页的方式,有curl和wget两种方式,这篇将重点讲Linux抓取网页的实例——<a href="http://blog.csdn.net/sunboy_2050/article/details/6916506" target="_b...

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     ...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

awk的类sql数据处理(转载)

转载自:http://blogold.chinaunix.net/u3/91453/showart_1798635.html 工作中经常处理文本<span style="text-decoration: u

awk数据处理整理

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

UNIX 高手的 20 个习惯

[code="java"]UNIX 高手的 20 个习惯 收藏 此文于2011-01-17被推荐到CSDN首页 如何被推荐? 不良的使用模式会降低您的速度,并且通常会导致意外错误。养成这些好习惯是加强您的 UNIX 命令行技能的积极步骤。 ...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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