如何创建一个脚本来过滤系统上的用户?例如,如果没有名为mike
的用户
$ echo "root peter pulse mike" | ./script.sh
root peter pulse
以及其他标准,如:
-s: Keep users who have sudo rights
-I: Keep users with a user ID >= 1000
这是我到目前为止所知道的:
#/bin/bash
grep /etc/passwd | cut -f1 -d ":" >> user.txt
我如何实现if
语句来检查标准输入是否等于用户的输出?
发布于 2021-04-09 01:06:48
你不需要grep
密码文件,cut
就足够了:
cut -f1 -d ":" /etc/passwd
..。将为您提供用户列表。
使用GNU grep
的-f
选项,您可以使用该列表作为单词文件来grep输入(您的echo
命令):
#/bin/bash
grep -F -w -o -f <(cut -f1 -d ":" /etc/passwd)
-o
选项输出与-f
选项指定的单词列表匹配的行的一部分(而不是整行输入)。
<(...)
语法是Bash的流程替换。该命令的结果是以文件形式提供的,这使您无法将用户列表存储在临时文件中。
https://stackoverflow.com/questions/67013559
复制相似问题