用shell写段批量查询用户信息的脚本,查询结果有延时。用户在Txt里,最后把所有用户的查询结果输出到新的txt里
时间: 2023-04-07 19:03:51 浏览: 59
可以使用以下脚本来批量查询用户信息:
```
#!/bin/bash
while read user; do
echo "Querying information for user: $user"
# 查询用户信息的命令
# 假设查询结果保存在变量 info 中
info=$(query_user_info $user)
echo "$info" >> output.txt
sleep 1 # 延时1秒
done < users.txt
```
其中,`users.txt` 是包含所有需要查询的用户的文本文件,每行一个用户名。`query_user_info` 是查询用户信息的命令,可以根据实际情况进行替换。查询结果会追加到 `output.txt` 文件中,每个用户的信息占一行。`sleep 1` 表示每次查询之间的延时为 1 秒,可以根据实际情况进行调整。
相关问题
用shell写段批量查询用户信息的脚本,用户在Txt里,最后把所有用户的查询结果输出到新的txt里
可以的,以下是一个简单的shell脚本示例:
```
#!/bin/bash
# 从txt文件中读取用户名列表
while read username; do
# 查询用户信息并输出到新的txt文件中
echo "查询用户 $username 的信息..."
id $username >> user_info.txt
done < user_list.txt
echo "所有用户信息查询完毕!"
```
你可以将需要查询的用户名列表保存在一个名为`user_list.txt`的txt文件中,然后运行这个脚本即可。脚本会依次查询每个用户名的信息,并将查询结果输出到一个名为`user_info.txt`的新txt文件中。
用shell写段批量查询用户所在组的脚本,用户在Txt里,最后把所有用户的查询结果输出到新的txt里
可以的,以下是一个示例脚本:
```bash
#!/bin/bash
# 从 users.txt 文件中逐行读取用户名,并查询其所在组
while read username; do
group=$(id -gn "$username" 2>/dev/null)
if [ -n "$group" ]; then
echo "$username: $group"
else
echo "$username: 用户不存在或未分配组"
fi
done < users.txt > results.txt
```
这个脚本会读取当前目录下的 users.txt 文件,逐行读取其中的用户名,并使用 `id` 命令查询其所在组。查询结果会输出到终端,并写入当前目录下的 results.txt 文件中。如果某个用户名不存在或未分配组,则输出相应的提示信息。