Shell:在多个文件中查找匹配行

2023-11-26

我正在尝试使用 shell 脚本(以及“oneliner”)来查找大约 50 个文件之间的任何公共行。Edit:注意我正在寻找出现在所有文件中的一行(行)

到目前为止我已经尝试过 grepgrep -v -x -f file1.sp *它只匹配所有其他文件中的文件内容。

我也尝试过grep -v -x -f file1.sp file2.sp | grep -v -x -f - file3.sp | grep -v -x -f - file4.sp | grep -v -x -f - file5.sp等等...但我相信使用要搜索的文件作为 STD 进行搜索,而不是使用要匹配的模式。

有谁知道如何使用 grep 或其他工具来做到这一点?

我不介意运行是否需要一段时间,我必须向大约 500 个文件添加几行代码,并希望在每个文件中找到一个公共行,以便在“之后”插入(它们最初是只是从一个文件中进行 c&p,所以希望有一些共同点!)

谢谢你的时间,


当我第一次读到这篇文章时,我以为你试图找到“任何共同点”。我认为这意味着“查找重复行”。如果是这种情况,以下内容就足够了:

sort *.sp | uniq -d

重新阅读您的问题后,您似乎实际上是在尝试查找“出现在所有文件中”的行。如果是这种情况,您将需要知道目录中的文件数量:

find . -type f -name "*.sp" | wc -l

如果返回数字 50,您可以使用awk像这样:

WHINY_USERS=1 awk '{ array[$0]++ } END { for (i in array) if (array[i] == 50) print i }' *.sp

您可以合并此过程并编写如下一行:

WHINY_USERS=1 awk -v find=$(find . -type f -name "*.sp" | wc -l) '{ array[$0]++ } END { for (i in array) if (array[i] == find) print i }' *.sp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shell:在多个文件中查找匹配行 的相关文章

  • 如何从文件中提取多行的电子邮件标题

    我正在尝试在 Linux 上使用 sed 从电子邮件文件中提取 To 标头 问题是 To 标头可能位于多行上 e g To email protected cdn cgi l email protection email protected
  • 如果没有结果,如何停止 grep 创建空文件

    我正在比较两个文件的结果 其中一个文件中的行不在另一个文件中 使用grep v f file1 txt file2 txt gt result txt 假设我的文件看起来像 文件1 txt alex peter zoey 文件2 txt a
  • 在“grep”结果中包含标头

    有没有一种方法可以将 head 1 和 grep 命令组合成一个目录中的所有文件 并将输出重定向到输出文件 我可以使用 sed 来完成此操作 但它似乎不如 grep 快 sed n 1p 6330162 p infile txt gt ou
  • Linux 文件权限的正则表达式(数字表示法)

    我一生都无法找出正确的正则表达式 我正在寻找的是一个正则表达式来匹配 Linux 文件权限的有效数字表示 例如 740 表示全部读取无 777 表示全部全部 到目前为止 我已经尝试过以下操作 strtotest 740 echo strto
  • grep UNIX 中的一个选项卡

    我如何grepUnix 平台上文件中的制表符 t 如果使用 GNU grep 则可以使用 Perl 风格的正则表达式 grep P t
  • grep --include 命令在 OSX Zsh 中不起作用

    我正在关注最佳答案如何在 Linux 上查找包含特定文本的所有文件 https stackoverflow com questions 16956810 finding all files containing a text string
  • 更改grep命令的分隔符

    我在用grep检测 a href xxxx something here a 当链接在输入中分成两行时 这不起作用 我想 grep 检查直到它检测到但现在它只是将输入输入到 grep 中 直到检测到新行为止 所以如果输入是这样的 a hre
  • 使用 grep 查找两个字符之间的字符串

    我发现了这一点answer https stackoverflow com a 1454936 2068595用于查找两个字符之间的字符串的正则表达式 就我而言 我想找到之间的每一个模式 and 这是正则表达式 lt 确实 当我尝试它时它有
  • Perl 的 grep 函数如何与正则表达式一起使用?

    以下 grep 函数如何工作 什么作用 0o1Iil do chars grep 0o1Iil 0 9 A Z a z use Data Dumper print Dumper chars 在 chars中生成以下内容 VAR1 0 VAR
  • 如何让“grep”从文件中读取模式?

    假设有一个很大的文本文件 我只想打印与某些模式不匹配的行 显然 我可以使用egrep v patter1 pattern2 pattern3 现在 如果所有这些模式都在一个文本文件中怎么办 最好的制作方法是什么egrep从文件中读取模式 g
  • 如何让“grep -zoP”单独显示每个匹配项?

    我有一个此表格的文件 X this is the first match blabla X this is the second match and here we have some fluff 我想提取 X 之后和相同标记之间出现的所有
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • grep 两个分隔符之间的子字符串

    我有很多bash使用的脚本perl内的表达式grep为了提取两个分隔符之间的子字符串 例子 echo BeginMiddleEnd grep oP lt Begin End 问题是 当我将这些脚本移植到运行的平台时busybox 融合的 g
  • 使用grep 读取文件中pattern1 的日志并仅打印包含pattern1 的行。当在文件中找到pattern2时停止搜索

    Using grep sed awk我想寻找pattern1 until pattern2在文件中找到并打印仅包含的结果pattern1 我不想要模式 1 和模式 2 范围之间的线 该站点中有许多解决方案 请帮忙 我尝试了以下方法但没有结果
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • 从文件中删除包含非英语 (Ascii) 字符的行

    我有一个文本文件 其中包含来自不同语言的字符 例如 中文 拉丁文等 我想删除包含这些非英语字符的所有行 我想包含所有英文字符 a b 数字 0 9 和所有标点符号 我如何使用 awk 或 sed 等 unix 工具来完成此操作 Perl 支
  • 从 HTML 文件中获取 jpg 图像

    我正在尝试使用 grep 获取 HTML 文件中 jpg 图像的完整 url 地址 一个问题是其中没有很多换行符 所以当我使用 grep 时 它会获取路径 但也会获取很多我不感兴趣的其他内容 我怎样才能获取 jpg 图像的 url 一张单人
  • 正则表达式匹配不可约分数

    我怎样才能匹配不可约分数 http en wikipedia org wiki Irreducible fraction用正则表达式 例如 23 25 3 4 5 2 100 101 等 首先 我不知道正则表达式中的gcd算法实现 Upda
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 比较两个文件的单列

    我有两个文件 每个文件都有两列 并用空格分隔 我想找到两个文件中第 2 列不相同的行 并将它们输出到第三个文件 file A 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 BBBBBBBBBBBBBBBBBBBBBB

随机推荐

  • 在 Android 中获取当前星期几的最简单方法是什么?

    在 Android 中获取当前星期几最简单的方法是什么 爪哇Calendar类作品 Calendar calendar Calendar getInstance int day calendar get Calendar DAY OF WE
  • 如何使用ajax函数发送表单而不刷新页面,我错过了什么?我必须使用rest-framework吗?

    我正在尝试使用 ajax 发送评论表单 现在当用户插入评论时 整个页面都会刷新 我希望能够很好地插入此内容 而无需刷新页面 所以我尝试了很多东西但没有运气 由于我是初学者 我尝试遵循许多教程链接 https realpython com b
  • 创建 Java 消息对话框(swing/awt/其他)的最快方法?

    我正在创建一个 Java 应用程序 它将执行一些处理 然后需要显示一条消息以向用户提供反馈 然而 它似乎非常慢 需要两秒钟多的时间才能返回 我将源代码剥离到明显的罪魁祸首 这里是使用的代码 package SwingPlay import
  • 如何以编程方式生成 Android 按键

    在我的应用程序中 当用户按下 DPAD LEFT 时 我想生成两次 DPAD UP 按下 我知道可以使用这样的方法来完成 Override private boolean onKeyDown int keyCode KeyEvent eve
  • “kotlin-android-extensions”Gradle 插件已弃用

    对于 Gradle 版本 6 2 和 Android studio 版本 4 0 1 我有以下弃用消息Kotlin android extention 任何人都知道如何解决它 它已被弃用谷歌文档 Kotlin Android 扩展已被弃用
  • 什么是 CPU 寄存器以及它们如何使用,特别是 WRT 多线程?

    这个问题和我下面的回答主要是针对另一个问题中的一个困惑的地方 在答案的最后 有一些我并不完全有信心的 WRT 易失性 和线程同步问题 我欢迎评论和替代答案 然而 问题的重点主要涉及 CPU 寄存器及其使用方式 寄存器是 CPU 中的 工作存
  • 如何在codeigniter 3.0中实现HMVC?

    目前我正在使用codeigniter3 0版本 我想知道如何在其中实现 HMVC 结构 有人可以帮忙吗 codeigniter 3 hmvc 模块文件夹用于 https bitbucket org wiredesignz codeignit
  • 用鼠标在画布上画线:Java awt

    尝试是在 awt canvas 上使用鼠标绘制图形 现在是一条线 我是第一次尝试java图形 所以不知道该怎么做 这是我的第一次尝试 package def grafi import java awt Canvas import java
  • 从多个不同的 Rails 模型创建“提要”

    我正在开发一个具有几种不同模型 票证 帖子 报告等 的应用程序 每个模型中的数据都不同 我想从所有这些模型创建一个 提要 全面显示 10 个最新条目 所有数据的混合 解决这个问题的最佳方法是什么 当为用户分配票证或发布新报告时 我是否应该创
  • 在 Perl 中如何判断变量是否具有数值?

    Perl 中有没有一种简单的方法可以让我确定给定变量是否是数字 大致如下 if is number x 将是理想的 一种不会在以下情况下发出警告的技术 w正在使用的开关当然是首选 Use Scalar Util looks like num
  • 如何在命令行中运行/调试 javascript

    我想知道 实际上我知道肯定有这样一种在命令行中运行js的方法 因为当我观看google I 0演示时 他们使用像d8这样的命令 也许它是V8引擎的一部分 有什么方法可以在命令行中运行 调试我的 JavaScript 例如d8 myJsfil
  • 如何在 iPhone 的 MKMapView 中显示带点(圆圈)的蓝色图钉

    我的问题可能看起来有点复杂 但让我澄清一下 我正在使用 mkmapview 在这里我想用蓝点和圆圈显示当前用户位置 但这并不是我想要的 当我正在制作一个 iPhone 应用程序时 由于我是地图集成的新手 因此我很难做到同样的事情 如果有人可
  • 从数据框列表中合并数据框[重复]

    这个问题在这里已经有答案了 我有一个数据框列表 如下所示 ls 1 1 month year oracle 1 2004 356 0000 2 2004 390 0000 3 2004 394 4286 4 2004 391 8571 ls
  • 溢出换行和断字之间的区别?

    之间的确切区别是什么overflow wrap word wrap and word break 谁能告诉我打破很长链接的更好方法是什么 大多数人说你应该将分词与overflow wrap但这看起来不太合逻辑 我认为使用overflow w
  • 随机排列数组 swift 3

    我怎样才能将下面的函数转换为swift 3 目前正在获取一个Binary operator lt cannot be applied to operands of type Int and Self IndexDistance error
  • 修改核心数据模型后重新创建类定义的更好方法?

    在 XCode 中设计核心数据模型时 可以通过以下方式自动生成 NSManagedObject 子类定义 m 和 h 文件 选择Entities 选择 创建 NSManagedObject 子类 EDITOR menu 之后 您可能会在这些
  • 你能使用 WINDOWS 构建一个 React-native iOS 应用程序吗?

    您可以在 Windows 上使用 React Native 构建 iOS 吗 还是需要xcode 如果是这样 有什么解决方法吗 我不想在 Mac 或 Mac 虚拟机上工作 我认为你用react native创建的应用程序可以在iOS上运行
  • 如何将 Docker 容器配置为可以通过容器 IP:端口从主机外部访问?

    我的主机有多个 IP 地址分配给一个网络接口 我想配置 Docker 以便让每个容器 响应 分配给主机的这些 IP 地址中的单个 IP 这可以通过 libcontainer 完成还是我必须使用 LXC 驱动程序并使用以下命令运行我的容器 l
  • 在响应完成之前关闭 HttpURLConnection

    背景 我在用着HttpURLConnection在客户端上使用 HTTP 流 服务器推送 情况下的响应 尽管服务器可以通过关闭响应来关闭连接 但客户端也需要能够执行此操作 Problem 客户端处理InputStream在一个单独的线程中
  • Shell:在多个文件中查找匹配行

    我正在尝试使用 shell 脚本 以及 oneliner 来查找大约 50 个文件之间的任何公共行 Edit 注意我正在寻找出现在所有文件中的一行 行 到目前为止我已经尝试过 grepgrep v x f file1 sp 它只匹配所有其他