grep是一个最初为Unix编写的命令行文本搜索实用程序。它使用正则表达式来匹配文本,通常用作管道中的过滤器。仅当您的问题与使用基于grep或grep的API的编程相关时,才使用此标记。与使用或排除grep命令行选项本身有关的问题本身是偏离主题的。
过滤太大而 rdflib 无法在内存中解析的 TTL 文件,否则
我正在处理一个 20 GB 的大 ttl 文件,我尝试使用 rdflib 读取,但出现错误 被杀 我正在尝试使用 grep 命令从此文件创建一个较小的文件。 样本数据...
我正在处理一个 20 GB 的大 ttl 文件,我尝试使用 rdflib 读取,但出现错误 被杀 我正在尝试使用 grep 命令从此文件创建一个较小的文件。 样本数据...
我需要帮助用 grep 找出一个正则表达式,该表达式将搜索文件并显示将 [a-z] 按字母顺序分别放入每个“集合”中的行(通过示例将变得清晰......
我需要帮助找出一个命令,该命令将搜索文件并显示包含 [a-f0-9] 中每个字符恰好 2 个的行。 有效匹配示例: 33 e0 f1 76 9c 4f a8 6c 01 5d 45 9e 28 d...
我正在考虑替换linux中的字符串,其想法是找到所有以abc作为字符串的文件,并在目录和所有子目录中替换为xyz。 你能建议我如何做到这一点吗
我想获取两个具有冗余条目的文件之间的剩余差异。 文件1.txt: 数据1 数据1 数据2 数据2 数据3 数据3 数据3 数据3 数据4 数据5 数据6 数据6 和 文件2.txt 数据1 数据2
我有 ci cd 管道的 shell 脚本。我正在 intellij ide 终端中执行它。 latestVersionAvailable=$(curl -s $artifactoryPath/maven-metadata.xml | grep -Po '(?<=)'$VERSION...
现在我有一个字符串 str="...AAA...",我想将其拆分为 3 个子字符串变量 sub1 sub2 sub3 AAA 是 sub2 并且是一个独特的模式,不会出现在 sub1 和 sub3 中。还有所有的...
如何将 Postgresql“psql”错误传递给 grep?
我正在运行一个 psql 查询,如下所示: $ psql --file=foo.sql "BAR-DB" 其中 foo.sql 包含查询。 foo.sql 的语法错误,因此输出是错误消息列表。我的计划是通过管道输出...
在 Git 控制的文件夹中获取未版本控制的文件列表比实际需要的更烦人。除非我真的不擅长阅读手册页,否则看起来 Git 并没有提供一种工具来...
Git diff 有很棒的 --color-moved 选项。所以我看到 Git 可以检测行何时被移动,但实际上不能被删除。 我需要检测已删除但未删除的行。只需 grep 输出...
我想在文件的每一行中搜索第一个字符串“abc”,如果存在,则在同一匹配行上搜索第二个字符串“xyz”,然后在匹配行的开头添加第三个字符串“//”。 我试过了...
我刚刚使用 y-cruncher 计算完 1110 亿位 PI 数字,并有 104GB 的文件。 我遇到了问题。 我想玩玩,尝试在那里搜索名称、值、标题和...
我正在将多个 Excel 文件读入 R,并且我想使用部分文件名作为数据。 我的文件名在列表中,如下所示: “文件夹//study30/01_study30_Baseline.xlsx”和...
我想对通常有很长行的 HTML 文件运行 ack 或 grep。我不想看到很长的线反复换行。但我确实想看看围绕着的长线的那一部分......
grep 非常擅长查找与模式匹配的行。但是,如果您有一个包含极长行的文件(例如 100MB 文件),并且您想要在其中查找与模式匹配的块,该怎么办? 佛...
在命令行解析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
我有一个文本文件,其中每一行由一系列用空格分隔的数字组成,后跟一个单词。这些数字仅由数字 1 到 6 组成,每个数字中的数字都是 o...
我有一个输入文件,每行包含 1 个字符串 input.txt(实际有25k行) 一 二 三 然后我有一个包含许多文件的目录(实际上是 50 个文件) 2022-04-01.csv 东西;一个;更多_东西 是...
为什么 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/) ...