加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – while循环,如何从第二行文本文件中读取

发布时间:2020-12-15 19:03:31 所属栏目:安全 来源:网络整理
导读:我已经尝试了过去2个小时的所有工作,但我在shell和编程方面的经验有限. 我有一个循环 while IFS="," read var1 var2 var3 var4 var5 ; dostatements here...done $file 现在,语句内部的操作是从一个包含5个字段的文本文件中读取,然后使用它们在Linux中使用ba
我已经尝试了过去2个小时的所有工作,但我在shell和编程方面的经验有限.

我有一个循环

while IFS="," read var1 var2 var3 var4 var5 ; do

statements here...

done < $file

现在,语句内部的操作是从一个包含5个字段的文本文件中读取,然后使用它们在Linux中使用bash创建帐户

useradd $var1 -p var2 -g var3等等

我想让脚本只从第二行开始阅读,我不能让它工作.像ifs =,read(从第二行)var 1 var 2 var3等.

原因是该文件是从excel到csv的导出数据库,因此第一行将包含诸如名字dob登记等标题,并且不需要

感谢您的帮助

加成:

在创建用户之前,我添加了一个if语句,如果用户满足条件,那么将创建它们.

if [ "$var5" == "fullyenrolled" ]; then
continue with account creation...
echo "$var1 successfuly created"
else
echo "Sorry user $var1 is not fully enrolled"
fi

回声的输出是这样的

Full name is not fully enrolled
user1 successfuly created
user2 successfuly created

即使我添加sed 1d |虽然IFS =等等似乎仍在阅读第一行,这就是为什么我得到第一个输出,如“全名未完全注册”

使用sed从传递给while循环的输入中“删除”第一行
sed 1d $file | while ...
do
         your statements here
done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读