试图从现有的 for 循环中读取文件
Posted
技术标签:
【中文标题】试图从现有的 for 循环中读取文件【英文标题】:Trying to read from file within existing for loop 【发布时间】:2015-09-11 09:24:16 【问题描述】:您好,我很难弄清楚如何完成我编写的现有脚本。简而言之,我正在尝试根据现有用户为任何没有将配额设置为 100MB 或 102400
的用户设置磁盘配额,如下所示。该逻辑目前似乎有效,但我已经没有关于如何填充 $USER
变量的想法。任何帮助将不胜感激。
AWK=$(awk ' print $4 ' test.txt)
USER=$(awk ' print $1 ' test.txt)
for quota in $AWK;
do
if [ "$quota" = 102400 ];
then
echo "Quota already set to 100MB for user: "$USER""
else
echo "Setting quota from template for user: $USER "
edquota -p username "$USER"
fi
done
test.txt
文件如下:
user1 -- 245 0 0
user2 -- 245 102400 102400
user3 -- 234 102400 102400
user4 -- 234 1 0
【问题讨论】:
【参考方案1】:使用从文件中读取两个变量的单个循环:
while read -r user a b quota c; do
if [ "$quota" = 102400 ];
then
echo "Quota already set to 100MB for user: "$user""
else
echo "Setting quota from template for user: $user "
edquota -p username "$user"
fi
done < test.txt
a
、b
和 c
变量仅用于跳过输入文件中的这些字段。
【讨论】:
以上是关于试图从现有的 for 循环中读取文件的主要内容,如果未能解决你的问题,请参考以下文章
试图将文件读入结构数组,但 for 循环仅显示第一个索引而其余索引为零?
如何使用 for 循环在 Matlab 中读取许多声音文件?