shell脚本中的简单for循环

时间:2012-02-02 09:44:37

标签: shell loops for-loop scripting

我有一个包含不同模块的cvs存储库。设置始终相同:

/data/cvs/<repo>/CVSROOT/passwd

我需要一个简短的脚本循环遍历所有存储库并执行此命令:

grep "^iq" <repo>/CVSROOT/passwd | sort | uniq

目的是让所有用户名以“iq”开头。 输出将是一个包含用户名,passwordhashes和cvsmodule的列表:

iqabcde:5!h8kdh2937slj:cvsabc

应使用“:”作为终止符来拆分此输出。我需要有3个可以访问的变量。

老实说,我对shell脚本没有太多的了解。如果有人能提供帮助会很棒,因为我认为这是可以解决的。

非常感谢

1 个答案:

答案 0 :(得分:1)

我很无聊。

#!/bin/bash
for repo in /data/cvs/*
do
  IFS=: read username hash module < <(grep "^iq" "$repo"/CVSROOT/passwd | sort | uniq)
  echo "Name: $username, Hash: $hash, Module: $module"
done