在另一个文件中查找一个文件的内容

2024-02-05

我使用以下 shell 脚本将一个文件的内容查找到另一个文件中:

#!/bin/ksh
file="/home/nimish/contents.txt"

while read -r line; do
    grep $line /home/nimish/another_file.csv
done < "$file"

我正在执行该脚本,但它没有显示 CSV 文件中的内容。我的contents.txt 文件包含数字,例如"08915673" or "123223"它们也存在于 CSV 文件中。我的做法有什么问题吗?


grep本身就能够做到这一点。只需使用标志-f:

grep -f <patterns> <file>

<patterns>是一个文件,每一行包含一个模式;和<file>是您要在其中搜索内容的文件。

请注意,强制grep要将每一行视为一个模式,即使每一行的内容看起来像正则表达式,您也应该使用该标志-F, --fixed-strings.

grep -F -f <patterns> <file>

如果您的文件是 CSV,正如您所说,您可以执行以下操作:

grep -f <(tr ',' '\n' < data.csv) <file>

例如,考虑文件“a.txt”,其中包含以下行:

alpha
0891234
beta

现在,文件“b.txt”包含以下行:

Alpha
0808080
0891234
bEtA

以下命令的输出是:

grep -f "a.txt" "b.txt"
0891234

你根本不需要for-在这里循环;grep本身就提供了这个功能。


现在使用您的文件名:

#!/bin/bash
patterns="/home/nimish/contents.txt"
search="/home/nimish/another_file.csv"
grep -f <(tr ',' '\n' < "${patterns}") "${search}"

你可能会改变','到文件中的分隔符。

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

在另一个文件中查找一个文件的内容 的相关文章

  • egrep 和 grep 之间的区别

    我有一个问题grep and egrep in unix 由于我最近正在学习shell commands in unix 我想知道grep和egrep有什么区别 我发现我们可以将 grep 和egrep 与正则表达式一起使用 但是 我发现这
  • 如何根据标签将单个 XML 文件拆分为多个

    我有一个带有标签的 XML 文件 我想像这样分割文件
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 如何正确使用fork、exec、wait

    我正在编写的 shell 需要执行用户提供给它的程序 这是我的程序的非常简短的简化版本 int main pid t pid getpid this is the parents pid char user input NULL size
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • .net-core:ILDASM / ILASM 的等效项

    net core 是否有相当于 ILDASM ILASM 的功能 具体来说 我正在寻找在 Linux 上运行的东西 因此为什么是 net core ildasm 和 ilasm 工具都是使用此存储库中的 CoreCLR 构建的 https
  • 如何从 HTTP URL 下载文件?

    我知道如何使用wget从FTP下载但我无法使用wget从以下链接下载 如果您将其复制并粘贴到浏览器中 它将开始下载 但我想将它直接下载到我们的服务器 这样我就不需要将它从我的桌面移动到服务器 我该怎么做 Thanks 这就是我所做的 wge
  • 与 pthread 的进程间互斥

    我想使用一个互斥体 它将用于同步对两个不同进程共享的内存中驻留的某些变量的访问 我怎样才能做到这一点 执行该操作的代码示例将非常感激 以下示例演示了 Pthread 进程间互斥体的创建 使用和销毁 将示例推广到多个进程作为读者的练习 inc
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  • 如何扩展路径中的波形符(~)[重复]

    这个问题在这里已经有答案了 我有一个 shell 脚本 可以从用户那里获取目录路径 但我需要检查目录是否为空 如果用户将他的主路径与 而不是绝对路径 所以我无法检查它ls echo Specify your project root dir
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • Jenkins:如何在 Windows 从机中执行 shell 脚本

    我有一个 Windows 从机 安装了 bash 我正在尝试在其上运行 shell 脚本作为预构建步骤 关于我如何做到这一点有什么想法吗 您需要使用脚本作为参数来运行 bash bash yourscript
  • cdc_acm:无法设置 dtr/rts - 无法与 USB cdc 设备通信

    我试图使用 pic24fj128gb206 枚举 usb cdc 设备 设备似乎已正确枚举 但是当我将设备连接到 Linux PC 时 我从内核收到以下警告消息 cdc acm 1 8 1 6 7 1 0 failed to set dtr
  • execv() 和 const 性

    我经常使用execv 函数在 C 中 但如果某些参数在 C 字符串中 则令我烦恼的是我无法执行此操作 const char args 4 args 0 usr bin whatever args 1 filename c str args
  • 如何使用 UNIX shell 脚本删除平面文件的页眉和页脚记录?

    我有一个平面文件 如下所示 如何使用 UNIX shell 脚本从文件中删除页眉和页脚并重写同一文件 9 20050427 HEADER RECORD 0000000 00000 000000000 123456 00 654321 DAT
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设

随机推荐

  • 有关 OpenCL 内核编程的教程或书籍? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我认为这个问题足够具体 只是为了说清楚 我不是在寻找参考 而是在寻找教程 我对内核编程方面特别感兴趣 市
  • 如何修复因字节计数长度不正确而损坏的序列化字符串?

    我使用 Hotaru CMS 和图像上传插件 如果我尝试将图像附加到帖子中 则会收到此错误 否则不会出现错误 unserialize function unserialize 偏移处错误 有问题的代码 错误点与 一致 Retrieve su
  • i18next 显示键而不是值

    I have translation json文件输入 locales en app name Example App In html 我有 a href In js document ready function var language
  • Castle:如何在日志拦截器中获取正确的 ILogger?

    如果您在温莎城堡中使用 LoggingFacility 如果您的类中有可选的记录器依赖项 城堡可以将记录器注入其中的 ILogger 属性 容器将自动解析与您的类关联的记录器 但是如果我想使用AOP 拦截器方法 来实现日志记录 我基本上想写
  • SQL 2005 - 多次指定列

    尝试在 SQL 2005 中运行此查询时出现以下错误 SELECT tb FROM SELECT FROM vCodesWithPEs INNER JOIN vDeriveAvailabilityFromPE ON vCodesWithPE
  • 在 ngx-toastr 中找不到模块

    我找不到答案 ERROR in node modules ngx toastr fesm5 ngx toastr js Module not found Error Can t resolve Users vasanthan Mean pr
  • 使用 JPanel 作为 JTable 单元格编辑器时获取焦点问题

    我有一个单元格编辑器 其中包含一个小按钮 可以双击该按钮来弹出编辑对话框 然后是一个可用于内联编辑值的文本字段 需要弹出窗口才能编辑其他值 仅允许编辑第一个显示在 JTable 中 当用户单击字段时 一切正常 但如果他们使用 Tab 键进入
  • 如何在散点图的 x 轴上绘制每分钟的时间

    为 1 秒采样数据设置分钟小刻度 OverflowError int too big to convert 考虑这个数据帧 采样间隔为 1 秒 持续时间约为 30 分钟 import matplotlib pyplot as plt fro
  • .jsp 中的登录系统

    我有一个login jsp包含登录表单的页面 登录后 用户将被带到index jsp和这个index jsp应该知道哪个用户已登录 如果用户刷新页面 他将保持登录状态 而不会返回到login jsp 所以需要有某种会议 UPDATE会话管理
  • SMTP 错误:无法连接到 SMTP 主机

    我有这段代码 并且在我的本地服务器上一切正常 电子邮件已发送 没有任何问题 但现在我将内容传递给网络服务器 我收到此错误 SMTP Error Could not connect to SMTP host SSL is enable in
  • 复式记账分页问题

    带有分页的复式记账会计系统存在一个非常严重的问题 我认为这很常见 但我仍然没有找到解决我的问题的任何解决方案 您可以使用此链接阅读有关简单的复式记账会计系统 https medium com RobertKhou double entry
  • 创建虚拟监视器(显示设备)

    我提出了一个问题here https stackoverflow com questions 11919175 java robot screenshot beyond visible但意识到我走错了方向 我需要创建一个虚拟监视器 实际上只
  • 如何以最便携的方式通过Graphene访问PrimeFaces组件?

    我正在使用 Primefaces 6 1 组件为 Java EE Web 客户端编写 Arquillian Graphene 功能测试 并希望从一开始就以最便携的方式编写它们 我注意到不可能执行类似的操作WebElement click在任
  • watchOS 2 与 CocoaPods 配合使用

    有人让 CocoaPods 与 watchOS 2 一起使用吗 我尝试将 use framework 与 platform watchos 2 0 一起使用 但它说 无效Podfile文件 不支持的平台watchos2 平台必须是 ios
  • 是否可以从谷歌电子表格填充谷歌表单?

    我想创建一个使用电子表格中的数据的表单 以便它是动态的 是否有可能做到这一点 我无法找到任何描述如何操作或任何示例的地方 似乎所有可能的方法都是从表单填充电子表格 我也会使用该表单 但这不是这里的主要问题 是的 使用表单脚本并使用 FORM
  • 如何升级django?

    我的项目在 Django 1 5 4 上运行 我想升级它 我做到了pip install U I django现在pip freeze显示 Django 1 6 5 显然 django 已升级 我在virtualenv 但我的项目仍在使用
  • bootstrap-selectpicker 不改变框宽度

    我正在尝试更改显示所选选项的选择器框的宽度 但无论我尝试什么 我都无法更改它 也无法更改框的颜色 任何想法或建议表示赞赏 我假设应该更改框宽度的代码片段如下 如您所见 我将其一直设置为 25 但宽度仍然很宽 selectpicker wid
  • 如果窗口未激活则获取输入 (Windows)

    简洁版本 当窗口未激活时 如何在使用 C C 的 Windows 中接收输入消息 背景资料 我目前正在开发一个不应该依赖于任何窗口的输入系统 因此它可以例如也可以在控制台中使用 我的想法是创建一个仅接收消息的不可见窗口 这可以使用 HWND
  • 在 Go 1.18 中 strings.Title() 已被弃用。现在该用什么?如何?

    按照建议here https www thesaurus com e grammar when to capitalize words 人名应该大写 例如John William Smith 我正在用 Golang 编写一个小软件 它从用户
  • 在另一个文件中查找一个文件的内容

    我使用以下 shell 脚本将一个文件的内容查找到另一个文件中 bin ksh file home nimish contents txt while read r line do grep line home nimish another