美文网首页Linux系统管理
用户与用户组对应关系脚本

用户与用户组对应关系脚本

作者: 咖啡大象不含咖啡 | 来源:发表于2018-10-08 16:51 被阅读6次

#!/bin/bash
echo "用户名 用户主组 用户附属组"
for user in `awk -F':' '{if($3+0>500) print $1}' /etc/passwd`
do
         #id $user | grep -o '([^)]*)'  |sed 's/(//g' | sed 's/)//g' | xargs | awk -F " "  '{for (i=2;i<=NF;i++)printf("%s ", $i);print ""}'  | column -t 
         id $user | grep -o '([^)]*)'  |sed 's/(//g' | sed 's/)//g' | xargs  | awk '{$2="";print $0}'
done

sh user-id.sh | column -t

阅读正则表达式,需从里往外看。
如:id $user | grep -o '([^)]*)'
首先理解[^)]的意思:负值字符集合。匹配未包含的任意字符;即匹配未包含)的任意字符。之后加个*即可匹配出( )之内的所有内容。
xargs进行行列转换。


相关文章

网友评论

    本文标题:用户与用户组对应关系脚本

    本文链接:https://www.haomeiwen.com/subject/mvsjaftx.html