我有一个包含用户名的文件,用户每行发送计数邮件。例如(不知道有多少行):
info.txt>
500 example1
40 example2
20 example3
....
..
.
如果数字大于X,我想运行包含用户名的命令并对用户进行操作。
getArray() {
users=() # Create array
while IFS= read -r line # Read a line
do
users+=("$line") # Append line to the array
done < "$1"
}
getArray "/root/.myscripts/spam1/info.txt"
# i know this part is incorrect and need help here :
if [ "${users[1$]}" -gt "50" ]
then
echo "${users[2$] has sent ${users[1$]} emails"
fi
请帮助
由于
答案 0 :(得分:0)
不知道您输入了多少行是没有理由使用数组。实际上,如果您假设输入是无限的(输入流)通常更有用,那么读入数组是不可能的。只需阅读每一行并在必要时采取措施:
#!/bin/sh
while read -r count user; do
if test "$count" -gt 50; then
echo "$user has sent $count emails"
fi
done < /root/.myscripts/spam1/info.txt