grep 相关问题

grep是一个最初为Unix编写的命令行文本搜索实用程序。它使用正则表达式来匹配文本,通常用作管道中的过滤器。仅当您的问题与使用基于grep或grep的API的编程相关时,才使用此标记。与使用或排除grep命令行选项本身有关的问题本身是偏离主题的。

过滤太大而 rdflib 无法在内存中解析的 TTL 文件,否则

我正在处理一个 20 GB 的大 ttl 文件,我尝试使用 rdflib 读取,但出现错误 被杀 我正在尝试使用 grep 命令从此文件创建一个较小的文件。 样本数据...

回答 1 投票 0

使用 grep 或 python 解析大文件

我正在处理一个 20 GB 的大 ttl 文件,我尝试使用 rdflib 读取,但出现错误 被杀 我正在尝试使用 grep 命令从此文件创建一个较小的文件。 样本数据...

回答 1 投票 0

grep 命令按字母顺序匹配包含字母的行

我需要帮助用 grep 找出一个正则表达式,该表达式将搜索文件并显示将 [a-z] 按字母顺序分别放入每个“集合”中的行(通过示例将变得清晰......

回答 1 投票 0

grep 命令可将行与组中每个字符恰好匹配 2 个

我需要帮助找出一个命令,该命令将搜索文件并显示包含 [a-f0-9] 中每个字符恰好 2 个的行。 有效匹配示例: 33 e0 f1 76 9c 4f a8 6c 01 5d 45 9e 28 d...

回答 1 投票 0

在目录和子目录内的所有文件中查找字符串并替换

我正在考虑替换linux中的字符串,其想法是找到所有以abc作为字符串的文件,并在目录和所有子目录中替换为xyz。 你能建议我如何做到这一点吗

回答 1 投票 0

仅删除两个文件之间精确数量的重复匹配

我想获取两个具有冗余条目的文件之间的剩余差异。 文件1.txt: 数据1 数据1 数据2 数据2 数据3 数据3 数据3 数据3 数据4 数据5 数据6 数据6 和 文件2.txt 数据1 数据2

回答 1 投票 0

grep -E(不工作)与 grep -Po(工作)

我有 ci cd 管道的 shell 脚本。我正在 intellij ide 终端中执行它。 latestVersionAvailable=$(curl -s $artifactoryPath/maven-metadata.xml | grep -Po '(?<=)'$VERSION...

回答 1 投票 0

如何在bash中用uniq子字符串分割字符串?

现在我有一个字符串 str="...AAA...",我想将其拆分为 3 个子字符串变量 sub1 sub2 sub3 AAA 是 sub2 并且是一个独特的模式,不会出现在 sub1 和 sub3 中。还有所有的...

回答 1 投票 0

如何将 Postgresql“psql”错误传递给 grep?

我正在运行一个 psql 查询,如下所示: $ psql --file=foo.sql "BAR-DB" 其中 foo.sql 包含查询。 foo.sql 的语法错误,因此输出是错误消息列表。我的计划是通过管道输出...

回答 1 投票 0

获取 Git 控制的文件夹中所有未版本化文件的列表

在 Git 控制的文件夹中获取未版本控制的文件列表比实际需要的更烦人。除非我真的不擅长阅读手册页,否则看起来 Git 并没有提供一种工具来...

回答 4 投票 0

Git diff:仅显示已删除(未移动)的行

Git diff 有很棒的 --color-moved 选项。所以我看到 Git 可以检测行何时被移动,但实际上不能被删除。 我需要检测已删除但未删除的行。只需 grep 输出...

回答 1 投票 0

搜索 2 个字符串并在匹配行的开头添加 string3

我想在文件的每一行中搜索第一个字符串“abc”,如果存在,则在同一匹配行上搜索第二个字符串“xyz”,然后在匹配行的开头添加第三个字符串“//”。 我试过了...

回答 1 投票 0

如何在104GB文件中仅一行搜索特定文本?

我刚刚使用 y-cruncher 计算完 1110 亿位 PI 数字,并有 104GB 的文件。 我遇到了问题。 我想玩玩,尝试在那里搜索名称、值、标题和...

回答 3 投票 0

正则表达式提取 R 中的部分文件名

我正在将多个 Excel 文件读入 R,并且我想使用部分文件名作为数据。 我的文件名在列表中,如下所示: “文件夹//study30/01_study30_Baseline.xlsx”和...

回答 1 投票 0

如何截断 grep 或 ack 返回的长匹配行

我想对通常有很长行的 HTML 文件运行 ack 或 grep。我不想看到很长的线反复换行。但我确实想看看围绕着的长线的那一部分......

回答 11 投票 0

如何在很长的行上进行类似 grep 的搜索?

grep 非常擅长查找与模式匹配的行。但是,如果您有一个包含极长行的文件(例如 100MB 文件),并且您想要在其中查找与模式匹配的块,该怎么办? 佛...

回答 2 投票 0

在命令行解析HTML;如何捕获<strong></strong>中的文本?

我正在尝试从 HTML 输出中获取数据,如下所示: 目标1无空格 .... Target2 带空格 我正在尝试从 HTML 输出中获取数据,如下所示: <strong>Target1NoSpaces</strong><span class="creator"> .... <strong>Target2 With Spaces</strong><span class="creator"> .... 我正在使用管道系统将数据缩减到我想要达到的目标。到目前为止,这是我的方法: grep "/strong" output.html | awk '{print $1}' Grep“/strong”以获取包含目标的行;效果很好。 通过管道连接到“awk '{print $1}”。当目标没有空格时,这在情况#1 中有效,但在目标有空格时的情况#2 中失败。仅保留第一个单词,如下所示: <strong>Target1NoSpaces</strong><span <strong>Target2 无论是在我的 awk 中还是在不同的命令中,您对正确命中目标有什么建议吗?任何快速而肮脏的东西(grep、awk、sed、perl)将不胜感激。 更新: 我很欣赏使用适当的 HTML 解析器或工具进行抓取的建议。然而,在我正在研究这个问题时,运行脚本的进程不需要做更多的事情,只需从使用 curl 检索到的网页中提取行即可。 尝试 pup,一个用于处理 HTML 的命令行工具。例如: $ pup 'strong text{}' < file.html Target1NoSpaces Target2 With Spaces 要通过 XPath 搜索,请尝试 xpup。 或者,对于格式良好的 HTML/XML 文档,请尝试 html-xml-utils。 使用 mojolicious 及其 DOM 解析器的一种方法: perl -Mojo -E ' g("http://your.web") ->dom ->find("strong") ->each( sub { if ( $t = shift->text ) { say $t } } )' 在 grep 中使用 Perl 正则表达式的后视和前视功能。应该比使用 awk 更简单。 grep -oP "(?<=<strong>).*?(?=</strong>)" file 输出: Target1NoSpaces Target2 With Spaces 添加: Perl 正则表达式在 Ruby 中的多重匹配的实现可以匹配多行中的值: ruby -e 'File.read(ARGV.shift).scan(/(?<=<strong>).*?(?=<\/strong>)/m).each{|e| puts "----------"; puts e;}' file 输入: <strong>Target A B C </strong><strong>Target D</strong><strong>Target E</strong> 输出: ---------- Target A B C ---------- Target D ---------- Target E 这是使用 xmlstarlet 的解决方案 xml sel -t -v //strong input.html 尝试在没有真正的 HTML 解析器的情况下解析 HTML 是一个坏主意。话虽如此,对于您提供的具体示例,这是一个非常快速且肮脏的解决方案。当存在多个时,它将不起作用 <strong> 标记在一行上,当标记超过一行时,等等 awk -F '<strong>|</strong>' '/<strong>/ {print $2}' filename 您永远不需要 grep 和 awk 并且字段分隔符不必是空格: $ awk -F'<|>' '/strong/{print $3}' file Target1NoSpaces Target2 With Spaces 但是,您确实应该为此使用合适的解析器。 自从你标记了 perl perl -ne 'if(/(?:<strong>)(.*)(?:<\/strong>)/){print $1."\n";}' input.html 我很惊讶没有人提到 W3C HTML-XML-utils curl -Ss https://stackoverflow.com/questions/18746957/parsing-html-on-the-command-line-how-to-capture-text-in-strong-strong | hxnormalize -x | hxselect -s '\n' strong 输出: <strong class="fc-black-750 mb6">Stack Overflow for Teams</strong> <strong>Teams</strong> 仅捕获内容: curl -Ss https://stackoverflow.com/questions/18746957/parsing-html-on-the-command-line-how-to-capture-text-in-strong-strong | hxnormalize -x | hxselect -s '\n' -c strong Stack Overflow for Teams Teams

回答 8 投票 0

一行中捕获组出现的最小次数的正则表达式

我有一个文本文件,其中每一行由一系列用空格分隔的数字组成,后跟一个单词。这些数字仅由数字 1 到 6 组成,每个数字中的数字都是 o...

回答 1 投票 0

使用多种模式从文件名中提取第一个日期

我有一个输入文件,每行包含 1 个字符串 input.txt(实际有25k行) 一 二 三 然后我有一个包含许多文件的目录(实际上是 50 个文件) 2022-04-01.csv 东西;一个;更多_东西 是...

回答 1 投票 0

为什么 grep 忽略“python3 -m http.server”输出的第一行?

由于某种原因 grep 不会打印命令输出的第一行: python3 -m http.server python3 -m http.server # 打印:在 0.0.0.0 端口 8000 上提供 HTTP 服务 (http://0.0.0.0:8000/) ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.