从/ etc / passwd打印一个选定组(GID)中的所有用户

时间:2015-02-01 22:54:50

标签: bash awk grep passwd

我是新来的,我正在尝试学习一些Bash。我需要编写一个脚本,该脚本将从一个选定的组中以单独的行打印所有来自etc / passwd的用户,该组被定义为$ 1参数。如果组不存在,则会显示正确的消息。错误输入的数字也是如此。我设法做到这一点,它完成了所有的消息工作,但我无法找到从一个组写入用户的方法。

示例:

myscript.sh 1000

输出:

User1

User2

User3

这是bash文件:

#!/bin/bash
awk -F':' '{ print $3 }' /etc/passwd | sort > list.txt
re='^[0-9]+$'

if grep -Fxq "$1" list.txt
then
**echo "don't know what to do here"** 
else

if ! [[ $1 =~ $re ]] ; then
   echo "Wrong number"
else
    echo "Group does not exist"
fi
fi

感谢您的所有时间和答案!

0 个答案:

没有答案