while循环,如何从文本文件的第二行读取

2023-11-27

在过去的 2 个小时里,我已经尝试了一切方法来使其正常工作,但我在 shell 和编程方面的经验有限。

我有一个循环

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

statements here...

done < $file

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

useradd $var1 -p var2 -g var3等等

我想让脚本只从第二行开始读取,但我无法让它工作。像 while ifs= 一样,读取(从第二行)var 1 var 2 var3 等。

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

感谢您的帮助

添加:

在创建用户之前,我添加了一条 if 语句,如果用户满足条件,则将创建他们。

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

echo 的输出类似于

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

while循环,如何从文本文件的第二行读取 的相关文章

  • 使用 XMLStarlet(图像注释)将值连接到现有 xml 属性

    我正在使用 xml 来注释图像 我正在使用 xmlstarlet 和 unix bash 命令 但当我尝试将值附加到现有 xml 属性值时遇到一些问题 例如 我有
  • 以受限用户身份运行 monit 并使其监视需要 root 权限的进程

    我有一个用 Ruby 编写的特定脚本 需要 root 权限 大多数其他进程不需要它 因此很容易在 Monit 中设置 不是这个 服务器需要监听386 这个端口只有root可用 我不会详细说明原因 因为 1 我不是一个低级的人 2 到目前为止
  • Ansible 输出格式选项

    是否有一个选项可以使用 ansible 而不是任何其他脚本 来格式化 ansible 输出 例如 name Show version sudo true hosts web front end tasks name Create yum c
  • Bash 脚本:将数组作为参数传递给函数并打印数组

    我将一个数组传递给一个函数并尝试打印该数组的每个元素 下面是数组参数周围带有引号的代码片段 bin bash print array array for i in array with quotes do echo i done ar 1
  • 卷曲:参数列表太长

    我想通过 Sparkpost API 使用curl post 发送一封附有pdf 文件的电子邮件 插入我使用的 pdf 我的 test pdf 约为 200KB data cat test pdf base64 wrap 0 但不知怎的 这
  • sed/awk/bash 用外部文件内容替换两个字符串之间的文本

    我正在编写一个脚本 命令 它将采用 inputFile1 在其中查找特定的开始和结束字符串 并替换它们之间的所有文本 包含 inputFile2 的完整内容 理想情况下 但不是强制性的 这应该不需要转义特殊字符即可工作 因此我可以将字符串放
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 配置confixtx.yaml文件?

    我正在尝试使用以下内容构建 Hyperledger Fabric 网络 Smartforce 订购者组织 Falcon io ORG1 弗罗斯特 io ORG2 我已经使用 cryptogen 工具生成了所有加密材料 不希望使用 confi
  • 如何将查找结果传递给 CP,以便带空格的文件名起作用 [重复]

    这个问题在这里已经有答案了 我正在尝试将带有特定附件的文件复制到不同的目录 并保留其相对路径 从我调用的原始顶部路径 cp parents find name pdf print new path 我相信这有效 但仅当找到的文件名称中没有空
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 将 mysql 查询输出存储到 shell 变量中

    我需要一个变量来保存从数据库检索的结果 到目前为止 这基本上是我正在尝试但没有成功的事情 myvariable mysql database u user p password SELECT A B C FROM table a 正如你所看
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • Python子进程Exec格式错误

    抱歉 如果这个问题很愚蠢 我正在使用Pythonsubprocess在 Ubuntu Natty 11 04 中调用 bat 文件的语句 但是 我收到错误消息 Traceback most recent call last File pfa
  • 比较linux中的两个未排序列表,列出第二个文件中的唯一项

    我有 2 个包含号码列表 电话号码 的文件 我正在寻找一种列出第二个文件中第一个文件中不存在的数字的方法 我尝试过各种方法 comm getting some weird sorting errors fgrep v x f second
  • “检测到堆栈粉碎”消息打印到哪个流?

    考虑以下非常基本的程序 它在此处以多种形式出现在其他问题上 include
  • Bash touch - 非法选项 -d

    昨天我拍了很多照片 但我忘记更改相机中的时区 现在所有图片的修改日期都有错误 我想将特定目录中所有文件的修改日期更改为minus 10 hours bin sh for i in Users slick Desktop 100D5200 d
  • 用于获取特定用户 ID 和进程数的 Bash 脚本

    我需要 bash 脚本来计算特定用户或所有用户的进程 我们可以输入 0 1 或更多参数 例如 myScript sh root deamon 应该像这样执行 root 92 deamon 8 2 users has total proces
  • 捕获并邮寄 bash 脚本错误

    我有一个脚本 每晚在 cron 中运行 为网络上的多个主机备份一些 postgres 数据库 我有一种方法可以通过利用退出状态来收到脚本失败的警报 但它没有告诉我失败的原因 根据以下代码 我如何捕获脚本运行时发生的任何错误 并将其通过电子邮
  • 在cmake中集成bash测试脚本

    我有一个 C cmake 项目 它使用 Boost Test 进行单元测试 现在我想向 cmake 公开一系列 bash 脚本 用于集成测试 假设每个脚本在以下情况下返回 0PASS或某些情况下 0FAILURE 我希望每次运行时都执行每个
  • Bash 的源命令无法处理从互联网上卷曲的文件

    我正在尝试使用curl从互联网获取脚本文件 如下所示 source lt curl url echo done 我看到的是 完成 得到了回响before卷曲甚至开始下载文件 这是实际的命令和输出 bash 3 2 source lt cur

随机推荐

  • Enum.IsDefined 带有标记的枚举

    我目前正在看书C 4 0 简而言之顺便说一句 我认为这是一本很棒的书 即使对于高级程序员来说也可以作为很好的参考 我回顾了有关基础知识的章节 发现了一个技巧 可以在使用标记枚举时判断枚举中是否定义了某个值 书中指出 使用Enum IsDef
  • 为什么大写字母不能用于定义值的模式匹配?

    为什么我可以使用小写字母作为名称 val a bC 1 2 1 2 match case a bC gt 并且不能使用大写字母 compile errors not found value A BC val A BC 1 2 compile
  • Django + PostgreSQL:填充范围内缺失的日期

    我有一张表 其中一列为date 每个日期可以有多个条目 date 2015 07 20 2015 07 20 2015 07 23 2015 07 24 我想使用 Django ORM 和 PostgreSQL 作为数据库后端来获取以下形式
  • gcc 链接共享库与符号链接

    我有两个库 例如两个烤面包机库libtoaster a so and libtoaster b so以及所有相关的主要 次要 修订符号链接 例如libtoaster a so 1 0 0等等 这两个库都实现了相同的烤面包机接口 但只是进行了
  • 使用 R,循环数据帧,并为循环中创建的对象分配适当的名称

    这是数据分析师一直在做的事情 特别是在处理缺少响应的调查数据时 通常首先对一组完整的数据矩阵进行乘法插补 将模型拟合到每个矩阵 然后组合结果 目前我正在手工做事并寻找更优雅的解决方案 想象一下有 5 个 csv工作目录中的文件 名为dat1
  • 如何运行 Github 存储库?

    我是一个编码新手 所以这可能是一个愚蠢的问题 我正在做一个 SQL 项目来学习该语言 我想知道是否有办法下载并执行 Github 存储库 我以前没有使用过 Github 谢谢 如果你是新手 我认为你应该学习如何使用git 您可以参考以下链接
  • 詹金斯没有声纳​​运行选项?

    我正在寻找在我们的詹金斯服务器上安装 sonarQube 我能找到的文档告诉我在中配置声纳运行器 Jenkins gt manage Jenkins gt Configure system 但是那里没有 声纳跑步者 选项 有一个 声纳 选项
  • 从AWS lambda@edge访问原始URL

    我正在尝试使用 AWS Cloudfront 上的 lambda edge 实现多个网站的 代理 我的设置大致是 DNS domain com gt some uuid cloudfront net Cloudfront 分发 Cloudf
  • VIM 折叠头中的语法高亮显示

    有没有办法让 VIM 继续对用作折叠标题的行应用格式 例如 我有以下代码 int foo int a int b int c 折叠后 我看到 4 lines int foo int a int b 但是 根据 Folded 类 整行都会突出
  • MySQL - 我们可以按列位置而不是名称排序吗?

    我在谷歌上查看过但找不到它 我们可以在 MySQL 中使用字段的位置进行排序吗 假设我有字段ID FirstName LastName Age但我想按字段 4 排序 我可以这样做吗ORDER BY FieldPos4按年龄订购 我还没有找到
  • 在 C# 字符串/字符编码中,GetBytes()、GetString() 和 Convert() 之间有什么区别?

    我们在将 Unicode 字符串转换为 UTF 8 字符串以通过网络发送时遇到问题 Start with our unicode string string unicode Convert u10A0 Get an array of byt
  • DataGridView 滚动事件(和 ScrollEventType.EndScroll)

    交接时DataGridView Scroll事件 您可以检查是否是滚动结束 当用鼠标拖动滚动条时 这大概是在释放鼠标按钮时 问题是这似乎永远不会发生 e Type从来没有ScrollEventType EndScroll 这有什么问题吗 如
  • 如何避免 DOM 解析添加 html doctype、 和 标签? [复制]

    这个问题在这里已经有答案了
  • Python 相当于 R c() 函数,用于数据帧列索引?

    我想使用列索引从 pandas 数据帧中选择特定的列 特别是 我想通过生成的列索引来选择列索引c 12 26 69 85 96 99 134 928 933 935 940 967 我想知道如何在 Python 中做到这一点 我在想类似下面
  • 在 Python 中拒绝负数作为异常

    我正在尝试运行一个接受数字的基本提示 然后对其运行递归函数 任何负数都会导致递归错误 因为函数无法处理它们 现在 我通过 Python 了解到 像这样的情况需要 尝试 例外 模型 这是我想出的 try choice int input En
  • C# 发布 .exe 并使用 cmd 向其发送参数

    我很确定这是基本的 但我只是没有成功做到这一点 我正在尝试创建一个控制台应用程序 它可以通过获取几个参数来执行 ABC 首先 我尝试运行这样简单的东西 static void Main string args foreach var s i
  • PostgreSQL 中的聚合 hstore 列

    我有一个这样的表 Table public statistics id integer not null default nextval statistics id seq regclass goals hstore items id go
  • Flutter创建命令失败错误

    我正在创建一个新的flutter项目于Android studio 我给项目命名并选择Flutter应用 然后我点击完成 然后什么也没发生 Android 工作室是这么说的 Flutter create command was unsucc
  • Spring ApplicationListener 在 webapp 上被触发两次

    我有一个应用程序监听器 它应该在每次 web 应用程序启动时只执行一次 因为它加载基本的用户信息数据 public class DefaultUsersDataLoader implements ApplicationListener
  • while循环,如何从文本文件的第二行读取

    在过去的 2 个小时里 我已经尝试了一切方法来使其正常工作 但我在 shell 和编程方面的经验有限 我有一个循环 while IFS read var1 var2 var3 var4 var5 do statements here don