草庐IT

preg-grep

全部标签

linux - grep 使用另一个命令的输出

假设我有command1输出这个:b05808aa-c6ad-4d30-a334-198ff5726f7c59996d37-9008-4b3b-ab22-340955cb60192b41f358-ff6d-418c-a0d3-ac7151c03b787ac4995c-ff2c-4717-a2ac-e6870a5670f0我还有command2输出这个:b05808aa-c6ad-4d30-a334-198ff5726f7c59996d37-9008-4b3b-ab22-340955cb6019有没有办法让command1的输出不包含任何与command2匹配的行,以便最终输出看起来像这

Linux:阻塞直到在文件 ("tail + grep with blocking"中匹配到字符串)

在bash/GNU工具中是否有某种单行方式来阻塞直到文件中有匹配的字符串?理想情况下,超时。我想避免多行循环。更新:似乎我应该强调我希望进程在匹配字符串时结束。 最佳答案 感谢两位的回答,但重要的是该过程会阻塞直到找到,然后结束。我发现了这个:grep-q'PATTERN'-q不太便携,但我只会使用RedHatEnterpriseLinux,所以没关系。超时:timeout180grep-q'PATTERN' 关于Linux:阻塞直到在文件("tail+grepwithblocking"

linux - 错误 : "grep: Argument list too long"

这个问题在这里已经有了答案:HowcanIgrepwhileavoiding'Toomanyarguments'[duplicate](5个答案)关闭7年前。我正在尝试运行以下命令,但出现参数太长错误。你能帮忙吗?HOST#grep-rl'pattern'/home/*/public_html/*-bash:/bin/grep:Argumentlisttoolong有没有办法覆盖这个错误并在所有用户public_html目录中grep我想要的模式匹配文件。同一服务器中大约有500多个用户。

linux - 尾部-f + grep?

这个问题在这里已经有了答案:Howto'grep'acontinuousstream?(13个答案)关闭8年前。Tail有以下选项:-fThe-foptioncausestailtonotstopwhenendoffileisreached,butrathertowaitforadditionaldatatobeappendedtotheinput.The-foptionisignoredifthestandardinputisapipe,butnotifitisaFIFO.我只想在尾部输出中对something进行grep。tail-f|grep问题是它只运行一次grep就完成了。没

linux - 为什么 'top | grep > file' 不起作用?

我测试了以下命令,但它不起作用。$>top-b-d1|grepjava>top.log它不使用标准错误。我检查它是否使用标准输出,但top.log始终为空。这是为什么? 最佳答案 默认情况下,grep缓冲输出,这意味着在grep输出超过缓冲区(可能因系统而异)。告诉grep在输出上使用行缓冲。尝试:top-b-d1|grep--line-bufferedjava>top.log 关于linux-为什么'top|grep>file'不起作用?,我们在StackOverflow上找到一个类似

linux - 在 grep 的每个结果后添加空行

我的grep命令看起来像这样zgrep-Bbb-Aaa"模式"*我希望输出如下:file1:line1file1:line2file1:line3file1:patternfile1:line4file1:line5file1:line6file2:line1file2:line2file2:line3file2:patternfile2:line4file2:line5file2:line6问题是很难区分第一个找到的结果对应的行结束,第二个找到的结果对应的行开始。请注意,尽管mangrep说“--”是在连续的匹配组之间添加的。仅当在同一文件中找到多个匹配项时才有效。但在我的搜索中(如

linux - 使用 grep 查找所有电子邮件

如何为“grep”linux程序正确构建正则表达式,以查找/etc目录中的所有电子邮件?目前,我的脚本如下:grep-srhw"[[:alnum:]]*@[[:alnum:]]*"/etc它工作正常-看到了一些电子邮件,但是当我修改它时,为了捕捉“@”符号前后的一个或多个字符......grep-srhw"[[:alnum:]]+@[[:alnum:]]+"/etc..它完全停止工作了此外,它不会捕获格式为“Name.LastName@site.com”的电子邮件帮助! 最佳答案 还有一个例子grep-Eiorh'([[:alnum

regex - 如何在文件夹中的xml文件中grep一个词

我知道我可以使用grep在这样的文件夹中的所有文件中查找单词grep-rncore.但我的当前目录有很多子目录,我只想搜索当前目录及其所有子目录中存在的所有xml文件。我该怎么做?我试过了grep-rncore*.xml//Doesnotwork但它只搜索当前目录中的xml文件。它不会以递归方式执行。 最佳答案 试试--include选项grep-R--include="*.xml""pattern"/path/to/dir引用:GrepIncludeOnly*.txtFilePatternWhenRunningRecursiveM

linux - 在 Linux 上以递归方式对特定文件类型进行 grep

我们能否仅在特定文件(html文件)中的某些文件夹中递归搜索术语(例如“onblur”)?grep-Rin"onblur"*.html这不会返回任何内容。但是,grep-Rin"onblur".返回所有可用文件的"onblur"搜索结果,例如text(".txt")、.mako、.jinja等 最佳答案 考虑检查thisanswer和thatone.这也可能对您有所帮助:grepcertainfiletypesrecursively|commandlinefu.com.命令是:grep-r--include="*.[ch]"patt

linux - 为什么ps o/p在管道之后列出grep进程?

当我做$ps-ef|grepcron我懂了root103610Jul28?00:00:00cronabc2102514334019:15pts/200:00:00grep--color=autocron我的问题是为什么我看到第二行。据我了解,ps列出了进程,并将列表通过管道传递给grep。当grep列出进程时,ps甚至还没有开始运行,那么grep进程如何在o/p中列出?相关第二个问题:当我做$ps-ef|grep[c]ron我只有root103610Jul28?00:00:00cron第一个和第二个grep执行之间有什么区别? 最佳答案