repeat命令用来替换文本文件中的值

时间:2013-01-06 06:19:52

标签: bash

我想重复运行ldapsearch查询,从列表中替换uid并将结果输出到新文件。

ldapsearch -h ldap.com -p 389 -x -b "dc=top,dc=com" \
              "uid=**value_from_a_text_file**" >>ldap.query.results.

对于如何实现这一点有什么建议吗?

2 个答案:

答案 0 :(得分:1)

假设您的文件是UID列表,每行一个,并命名为uidfile.txt

for line in `cat uidfile.txt`; do
    ldapsearch -h ldap.com -p 389 -x -b "dc=top,dc=com" "uid=${line}" >>ldap.query.results
done

答案 1 :(得分:0)

假设CSV格式的数据,第一个字段为UID

awk -F ","  '{print $1}' data.csv | \
while read uiddata
do 
 ldapsearch -h ldap.com -p 389 -x -b "dc=top,dc=com" "uid=${uiddata}" >> ldap.query.results

done