带 read 和 IFS 的 Bash while 循环

2024-03-21

我必须解析以下格式的文件:

line1_param1:line1_param2:line1_param3:
line1_param2:line2_param2:line2_param3:
line1_param3:line3_param2:line3_param3:

并逐行处理它,从当前行提取所有参数。目前我是这样管理的:

IFS=":"
grep "nice" some_file | sort > tmp_file
while read param1 param2 param3
do
  ..code here..
done < tmp_file
unset IFS

如何避免创建临时文件?

不幸的是,这不能正常工作:

IFS=":"
while read param1 param2 param3
do
  ..code here..
done <<< $(grep "nice" some_file | sort)
unset IFS

由于整行都分配给 param1。


您可以使用过程替代 http://tldp.org/LDP/abs/html/process-sub.html为了这:

while IFS=: read -r param1 param2 param3
do
   echo "Any code here to process: $param1 $param2 $param3"
done < <(grep "nice" some_file | sort)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带 read 和 IFS 的 Bash while 循环 的相关文章

  • Bash - 如何将参数传递给通过标准输入读取的脚本

    我正在尝试从标准输入执行脚本并将参数传递给它 有办法做到吗 假设我有以下内容 cat script sh bash 我如何将参数传递给脚本 我不想这样做 bash script sh arguments 也不是这个 script sh ar
  • 将所有脚本参数复制到另一个变量

    我需要复制所有脚本参数并将它们传递给另一个脚本 我尝试这样做 args printargs sh args echo printargs sh args 但在这种情况下 如果我使用包含空格的参数调用我的父脚本 例如 script sh ar
  • shell 脚本:错误的解释器:使用 pwd 时没有这样的文件或目录

    我想用 for 循环遍历目录中的文件 但这出现了 echo bad interpreter No such file or directory code bin bash count 0 dir pwd echo dir FILES ls
  • 子 shell 何时继承其父 shell 环境?

    什么情况下将shell的环境传递给子shell 子 shell 始终从父 shell 获取所有变量 man bash将描述所有使用子shell的情况 主要是 command command command and command 所谓环境只
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 将终端颜色扩展到行尾

    我有一个生成 motd 的 bash 脚本 问题取决于某些终端设置 我不确定颜色是否会延伸到行尾 其他时候则不然 e g v s IIRC 一个只是普通的 gnome 终端 另一个是我的 tmux 术语 所以我的问题是如何才能将其扩展到 8
  • 执行 rvm use 2.0.0 --default 时收到“警告!路径未正确设置”

    以上第一次不起作用 第二次起作用 尝试将任何新 shell 窗口的 ruby 版本设置为 2 0 0 Doing rvm use 2 0 0 default gives Warning PATH is not properly set up
  • 使用Sed查找并替换json字段

    我有一组 json 文件 其中在最后一个键值对之后有需要替换的逗号 RepetitionTime 0 72 TaskName WM Manufacturer Siemens ManufacturerModelName Skyra Magne
  • 如何从 powershell 中设置 bash 的环境变量?

    使用powershell我该如何设置 https askubuntu com q 1205227 45156 the 环境 https stackoverflow com q 5327495 262852变量 这里 特别 https sta
  • 从 Ruby 运行 shell 命令:在显示输出时捕获输出?

    我有个问题 我想从另一个 ruby 脚本运行一个 ruby 脚本并捕获它的输出信息 同时让它也输出到屏幕上 runner usr bin env ruby print Enter your password password gets ch
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • 如何在 bash 中结合超时和 eval 命令

    为了执行存储在变量中的命令eval使用命令 gt a echo e a nb wc l gt eval a 2 但如何才能与它结合起来呢 timeout命令 我尝试过以下操作 这给了我错误的输出 gt timeout 10 a a b wc
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 如何剪切(1) 个驼峰字?

    Bash 中有没有一种简单的方法可以将驼峰式单词拆分为其组成词 例如 我想将 aCertainCamelCasedWord 拆分为 a certain Camel Cased Word 并能够选择我感兴趣的那些字段 当单词分隔符是下划线时
  • 伊迪德信息

    重新定义问题 有什么方法可以获取所连接显示器的序列号吗 我想收集显示器的Eid信息 当我使用 logverbose 选项运行 X 时 我可以从 xorg 0 log 文件中获取它 但问题是 如果我切换显示器 拔出当前显示器 然后插入另一个显
  • 设置 Pyenv 的路径

    我正在尝试在我的服务器中设置 Pyenv 的加载路径 bashrc file 我正在关注这个tutorial https realpython com intro to pyenv 它要求我们在哪里设置pyenv到加载路径 然而 在我的 b
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 如何使用 bash 显示具有两个子文件夹的文件夹?

    我通过 Cygwin 使用 bash 我有一个大文件夹 a 有很多子文件夹 b 这些子文件夹各有一个或两个子文件夹 c 我想找到所有有两个子文件夹 c 的子文件夹 b 并输出它们 结构如下 a b1 c1 b2 c1 c2 b3 c1 c2
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • 如何在 sed 中转义方括号[重复]

    这个问题在这里已经有答案了 我正在使用 grep 和 sed 解析遗留的 C 代码 当尝试替换方括号时 发生了一些奇怪的事情 以下代码替换方括号效果很好 echo xyx xzx xyx sed s g 结果是 xyx xzx xyx 当我

随机推荐

  • Angular 单元测试 Jasmine Spy 错误

    以下控制器收到类型错误 未定义 不是函数 正在评估sessionService getCurrentPlace 我有一个模拟服务 该方法正在被监视 模拟服务上的另一种方法工作正常 我试过了 AndReturns 关于间谍以及 AndCall
  • 在 MATLAB 中为结构体数组的字段赋值

    我想替换结构体数组中字段的值 例如 我想在以下结构中将所有 1 替换为 3 a 1 b 1 a 2 b 2 a 3 b 1 a a b 1 b 3 This doesn t work and spits out Insufficient o
  • 是否有一个“空”printf 代码不打印任何内容,用于跳过参数?

    如果我想要一个程序有多种文本输出格式 我可以这样做 const char fmtDefault u x s 2f each n const char fmtMultiLine Qty 3u nItem s nPrice per item 2
  • Kartik Select2 - 以编程方式更改多个

    我有一个 yii2 activeform 其中表单的功能可以根据表单中的其他内容进行更改 所以 我有一个俱乐部字段 在某些情况下可以是多个 但在其他情况下不能是多个
  • 零/符号扩展是无操作的,为什么要为每种大小类型提供指令呢?

    对于 x86 和 x64 编译器生成类似的零 符号扩展 MOVSX 和 MOVZX 扩展本身并不是免费的 但允许处理器执行无序魔法加速 但在 RISC V 上 因此 无符号和有符号 32 位整数之间的转换是无操作 从有符号 32 位整数到有
  • Keras 在激活函数之前检索节点的值

    想象一个完全连接的神经网络 其最后两层具有以下结构 Dense units 612 activation softplus Dense units 1 activation sigmoid 网络的输出值为 1 但我想知道 sigmoidal
  • Android 2.1 的操作栏

    是否有适用于 Android Level 7 的操作栏或其他我可以用作操作栏的东西 我需要构建一个使用 Android 2 1 操作栏的应用程序 JohanNilsson 实际上创建了一个ActionBar图书馆可在GitHub 直接链接
  • 将 Twitter Bootstrap 与 Wordpress 一起使用

    如何将 Wordpress 与 Twitter Bootstrap 一起使用 我知道如何设置 Wordpress 页面 并且已经使用过 Bootstrap 但现在我想第一次一起使用这两个 对于我的 WordPress 项目 我通常只安装 W
  • 如何从这个承诺层蛋糕中返回布尔值?

    我有一个控制器方法 它接受一个字符串参数 这样我就可以测试用户是否有能力 用户拥有许多角色 并且角色附加了一系列权限 我们需要检查它是否包含该功能 我知道这过于冗长 但为了理解 我就这样保留了 稍后会重构 App WorkspaceInde
  • 估计 GPU 的 FLOPS 效率(CUDA 示例)

    在我看来 我并不完全理解 FLOPS 的概念 在CUDA SAMPLES中 有矩阵乘法示例 0 Simple matrixMul 在此示例中 每个矩阵乘法的 FLOP 浮点运算 数量通过以下公式计算 double flopsPerMatri
  • 如何知道是否有ajax请求和ajax成功

    我想知道我该如何编码 if there is any ajax request loader css display block on success loader css display none Note 我不会在每个 ajax 请求函
  • iOS 8 - 如何确定前台应用程序以及获取正在运行的应用程序列表

    在 iOS 7 0 及更低版本上 SBFrontmostApplicationDisplayIdentifier来自跳板框架指定了在前台运行的应用程序 但该功能已被阻止 被视为漏洞 请参阅专门针对它的常见漏洞和暴露页面here http c
  • 如何断开 XMPPPY 客户端对象的连接

    使用 XMPPPY 连接到 XMPP 服务器非常简单 from xmpp client import Client as XMPPClient self xmppClient XMPPClient jabber foo com if not
  • 使用 C# 驱动程序时分析 MongoDB 查询

    有没有办法记录 MongoDB C 驱动程序生成并发送到 mongodb 的实际查询 就像在 SQL Server 中一样 您可以使用 SQL Profiler 来显示所有传入的查询 您可以启用分析并按照 pingw33n 的建议在 mon
  • PowerMockito 正在调用真正的方法而不是模拟的私有方法

    我有一个类 它有一个私有方法 并在其主体中调用另一个私有方法 所以我想调用第一个私有方法并模拟第二个 这是一个例子 public class ClassWithPrivateMethod private int count public C
  • 如何使用 argparse 将列表作为命令行参数传递?

    我正在尝试将列表作为参数传递给命令行程序 有没有一个argparse https docs python org 3 library argparse html将列表作为选项传递的选项 parser add argument l list
  • 为什么 Pyglet 不能正确绘制多边形?

    我随机创建点用于使用 Pyglet 绘制多边形 但 Pyglet 大多数时候都不能正确完成工作 好吧 我尝试用另一个图形模块绘制多边形 实际上它有效 但如果 Pyglet 工作正常 它会让我的工作变得更容易 我用它来绘制多边形和点 以方便您
  • 无需插件的 jQuery 链式动画

    在使用 jQuery 之前 我可以做一个带有延迟的链式动画 如下所示 element delay 45 animate 45 delay 45 animate 45 delay 45 animate 45 现在 自从更新到 v1 6 1 以
  • 子查询是邪恶的吗?

    这个问题是在一位朋友的评论之后提出的 他说 当一个查询有很多子查询时 就表明数据库存在设计缺陷 必须避免它们 他还表示 许多书籍都提出了同样的建议 我部分同意 但我认为这些查询具有复杂的逻辑 需要大量子查询 或者为了避免子查询 查询的物化视
  • 带 read 和 IFS 的 Bash while 循环

    我必须解析以下格式的文件 line1 param1 line1 param2 line1 param3 line1 param2 line2 param2 line2 param3 line1 param3 line3 param2 lin