次の形式のユーザーのリストを含むテキストファイルがあります。
name1
name2
name3
...
コマンドグループを呼び出すと、ユーザーのデフォルトグループ名が提供されます。前任者:
bash$ groups name1
name1: group_Name
テキストファイル内のすべてのユーザーグループをインポートし、そのグループのリストを新しいテキストファイルに入れたいと思います。
この命令をご存知ですか?おそらく、スクリプトは名前の最初のファイルを繰り返し、各名前のグループを呼び出して、出力を新しいファイルに保存します。いくつかの具体的な詳細についての助けが必要です。
答え1
groups
各項目を呼び出してファイルを1行ずつ読みます。
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
これにより、一意のグループ名がアルファベット順に並べられたリストが提供されます。