如何解决我正在用UNIX中的组号替换组名
我必须写一个skrypt,它会显示文件/ etc / passwd,为什么GroupID将通过GroupName进行交换
-> / etc / passwd结构:UserName:x:UserID:GroupID:description:homeFile:DefaultInterpreter
-> / etc / group结构: GroupName:x:GroupID:AdditionalUsers
解决方法
您可以通过awk处理/ etc / group和/ etc / passwd来做到这一点
awk -F: 'NR==FNR { grp[$3]=$1 } NR != FNR { OFS=":";$4=grp[$4] }1' /etc/group /etc/passwd
将字段定界符设置为:,然后读取/ etc / group文件(NR == FNR)。创建一个由组ID索引的数组grp,其中组名作为每个条目的内容。然后处理/ etc / passwd(NR!= FNR)。对于每一行,获取组ID(第4个分隔字段),并用grp [$ 4]的内容替换它,并相应地设置输出字段分隔符(OFS)。使用1打印修改后的行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。