awk 命令接受两个变量作为参数并返回一个值

2023-12-05

我有一个有 50 行的文件。每行由三列组成。前两列是变量,这将作为参数传递以返回第三列的值。 对于前.. command_file.txt 是文件,它包含



A B 10
C D 20
E F 30
G H 50
I J 70
...
  

我有一个包含以下命令的脚本。



#!/user/bin/sh
READ_FILE=/export/home/user/command_file.txt
VA1=A
VA2=B
GET_VALUE=`awk '/ -v var="$VA1" '$1 ~ var' -v var1="$VA2" '$1 ~ var1''/ $READ_FILE l awk '{print $3}'`
echo $GET_VALUE
  

当我调用此脚本并传递 A 和 B 作为参数时,我期望返回值 10。但它返回了错误。 但如果我对以下命令的值进行硬编码,它将起作用。

GET_VALUE=`awk '/A B'/ $READ_FILE lawk '{print $3}'`

有什么建议么? 谢谢。


你必须使用awk's在 awk 脚本开始之前传递变量以避免毛茸茸的引用,并修复其他问题:

#!/user/bin/sh
READ_FILE=/export/home/user/command_file.txt
VA1=A
VA2=B
GET_VALUE=$(awk -v var="$VA1" -v var1="$VA2" '$1 ~ var &&  $2 ~ var1 {print $3}' $READ_FILE)
echo $GET_VALUE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

awk 命令接受两个变量作为参数并返回一个值 的相关文章

随机推荐

  • AngularJS:复制与扩展

    解释 我们遇到过一些情况 需要将一个对象复制到另一个对象 在这种情况下 我们可能有两种解决方案 角度 copy or 角度 extend 我面临的挑战 据我们所知angular copy source destination 创建源对象的深
  • 为什么这两个相同的内联 div 未对齐,而其中一个有文本而另一个没有?

    所以这里有两个相同的 div HTML div div div div CSS left right width 100px height 40px border 1px solid gray display inline block 这些
  • Angular 不支持 IE10 中的输入类型=“range”

    当 HTML5 的值
  • 如何为与 www 相同的域创建 localStorage。同时还是下次访问时?

    我创建了一个 JS 文件 并将其放置在我以外的其他网页中 所以我的是domain 1 com 我将其放置到domain 2 com 和domain 3 com 这个JS包含jsonp 我成功地将一些数据从他们的页面保存到我的数据库中 另外
  • Carrierwave 程序上传

    现在 在我的 Rails 应用程序中 我正在使用 Carrierwave 将文件上传到 Amazon S3 我正在使用文件选择器和表单来选择并提交文件 这效果很好 不过 我现在正尝试通过 iPhone 应用程序发帖 并且正在接收文件的内容
  • 使用具有可变数量参数的 Scipy curve_fit 进行优化

    假设我们有下面的函数来优化 4 个参数 我们必须如下编写函数 但如果我们想要具有更多参数的相同函数 我们必须重写函数定义 def radius z a0 a1 k0 k1 k np array k0 k1 a np array a0 a1
  • 在 React 中编辑多个输入字段

    请检查此代码https stackblitz com edit react koqfzp file src Section js 每次我添加一个项目时 我也会添加一个我想要编辑的随机数 该数字在 MUI 文本字段组件中呈现
  • 如何在不阻塞的情况下从套接字读取数据

    我在处理服务器时遇到问题 向我发送初始 问候标头 smtp 服务器 我需要在发送任何命令并从服务器接收任何答案之前读取此标头 但我不知道如何执行此操作 因为 Julia 似乎缺乏在不阻塞的情况下从 IO 流读取的可能性 read 命令及其类
  • Powershell 中的 RegKey 问题

    我在使用 Powershell 中的注册表项时遇到问题 密钥 T E S T 由未知进程生成 然后我尝试使用以下方法覆盖它 Path setting grouplocators Name T E S T New Item Path Path
  • 如何从串行 python 脚本使用 mpi4py 应用程序

    我尝试制作一个基于 mpi4py 的库 但我想在串行 python 代码中使用它 python serial source py 但里面序列源 py存在一些名为的函数平行杆 from foo import parallel bar Can
  • C++ 动态分配 std::map 比较器

    因此 我有两个包含 std map 成员的类 其功能实际上相同 只是一个映射的顺序是 std less 另一个映射的顺序是 std greater 如果我创建一个抽象父类并声明一个映射成员 是否有任何方法可以在派生类构造函数中动态分配该成员
  • as3 文本字段更改字符串值

    我是Flash中as3的新手 我需要显示警报 在警报框中显示的文本字段如下 ou ra ro la atio hata 但我想显示的真实文本就像 鼠标拖放播放动作哈塔 在代码对中 文本字段类似于 鼠标拖放播放动作哈塔 当我调试代码时 我也看
  • UIWebView 仍然存在于 Google 移动广告中

    我正在尝试为 IOS 构建 但上传到 ITuneconnect 后收到此消息 ITMS 90809 已弃用的 API 使用 不再接受使用 UIWebView 的新应用程序 相反 使用 WKWebView 可以提高安全性和可靠性 了解更多 h
  • Google App Engine 中的进度条

    我有一个 Google App Engine 应用程序 它对远程 API 执行大约 30 50 次调用 每次调用大约需要一秒钟 因此整个操作很容易需要一分钟 目前 我在站点的 post 函数内循环执行此操作 因此在整个操作完成之前不会打印响
  • Visual Studio 2010 中缺少 asp.net Web 应用程序模板

    我安装了 Visual Studio 2010 终极版 当我单击 新建项目 gt Visual Basic 或 C gt Web 时 我得到的唯一选项是 AjaxControlExtender AjaxServerControl 和 ASP
  • Java“虚拟机”与Python“解释器”的说法?

    似乎很少读到 Python 虚拟机 而在 Java 中却一直使用 虚拟机 两者都解释字节码 为什么称一个为虚拟机而另一个为解释器 在本文中 虚拟机 指的是进程虚拟机 而不是指 系统虚拟机 例如 Qemu 或 Virtualbox 进程虚拟机
  • 在 HTML 中为 target="_blank" 打开新窗口

    a href facebook com sharer target blank Share this a 当用户单击它时 如何在新窗口中使其具有一定的宽度和高度 在firefox中 当前代码仅打开一个新选项卡 而不是新窗口 要在包含尺寸和所
  • 如何在 ibm worklight 中打开本机相机

    Ibm Worklight 有调用本机应用程序的示例 但它是在 worklight 本身中创建的 例如 此示例中的 module 09 1 Android CombiningNativeAndWebPages 在 android 文件夹本身
  • 是否可以从另一个容器启动已停止的容器

    有两个容器A和B 一旦容器A启动 就会执行一个进程 然后容器就会停止 容器 B 只是一个 Web 应用程序 比如expressjs 是否可以从容器 B 启动 A 可以授予容器对 docker 的访问权限 以便它可以在主机上生成其他容器 您可
  • awk 命令接受两个变量作为参数并返回一个值

    我有一个有 50 行的文件 每行由三列组成 前两列是变量 这将作为参数传递以返回第三列的值 对于前 command file txt 是文件 它包含 A B 10 C D 20 E F 30 G H 50 I J 70 我有一个包含以下命令