我有一个文本文件,其中包含用户列表,格式如下:
name1
name2
name3
...
调用命令组会给出该用户的主要组名称。前任:
bash$ groups name1
name1: group_Name
我想获取文本文件的所有用户的组并将该组列表放入新的文本文件中。
有谁知道这个命令吗?也许一个脚本会使用名称迭代第一个文件并调用每个名称的组,然后将输出存储在新文件中。我只需要一些具体细节方面的帮助。
答案1
逐行读取文件,groups
对每一项调用:
while read name ; do groups "$name" ; done < list.txt > with_groups.txt
循环通常可以替换为xargs
:
xargs groups < list.txt > with_groups.txt
答案2
像这样的事情怎么样:
#!/bin/bash
while read ID
do
groups $ID
done < input.file |
awk '{print $3}' | sort | uniq > list_of_groups
这将为您提供按词法排序的唯一组名称列表。