草庐IT

grepping

全部标签

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执行之间有什么区别? 最佳答案

linux - grep 中间带有通配符的文本

我想grep类似==>*.sh的东西.但它不起作用,我可以grep到.sh的所有内容但不能让通配符起作用。这里有什么技巧? 最佳答案 您需要grep来查找类似"==>.*\.sh的内容.*部分匹配任意长度的任意字符,\.部分匹配一个点。 关于linux-grep中间带有通配符的文本,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5906228/

linux - 如何让 GREP 只选择数值?

我在bash脚本中使用df命令:df.-BMB|tail-1|awk{'print$4'}|grep.[0-9]*此脚本返回:99%但我只需要数字(以便进行下一次比较)。如果我使用不带点的grep正则表达式:df.-BMB|tail-1|awk{'print$4'}|grep.[0-9]*我什么也没收到。如何修复? 最佳答案 如果你尝试:echo"99%"|grep-o'[0-9]*'它返回:99这是关于-o(或--only-matching标志)的详细信息,来自grepmanualpage.Printonlythematched(

linux - 如何防止 grep 打印尾随换行符?

我正在使用grep生成将由另一个程序解析的输出。但是,该程序期望输出仅为数字或零字节。现在grep在其输出后输出一个换行符。我已经检查了-Z选项,但它似乎不起作用,因为我正在使用grep进行计数(-c)。我在sh中执行,而不是bash。所以将它嵌套到echo-n"$(grep-cpattern)"中也不起作用。我怎样才能去掉尾随的换行符? 最佳答案 使用tr-d删除字符串中的字符:$grep-c''/etc/passwd|tr-d'\n'69$grep-c''/etc/passwd|tr-d'\n'|xxd0000000:36396