jjzjj

grepping

全部标签

ruby - 带有 grep 远程日志文件的 tail

我有这段代码来跟踪远程日志文件:defdo_tail(session,file)session.open_channeldo|channel|channel.on_datado|ch,data|puts"[#{file}]->#{data}"endchannel.exec"tail-f#{file}"endNet::SSH.start("host","user",:password=>"passwd")do|session|do_tailsession,"/path_to_log/file.log"session.loop我只想在file.log中检索带有ERROR字符串的行,我正在尝

Ruby 相当于 "grep -C 5"以获取匹配项周围的行的上下文?

我搜索了一下,但我一定是使用了错误的术语-ruby​​是否有办法grep查找字符串/正则表达式并返回周围的5行(上方和下方)?我知道我可以调用"grep-C5..."或什至编写我自己的方法,但这似乎是ruby​​应该有的东西,我只是没有使用正确的搜索词。 最佳答案 您可以使用正则表达式来完成。这是我们要搜索的字符串:s=%{ThefirstlineThesecondlineThethirdlineThefourthlineThefifthlineThesixthlineTheseventhlineTheeightlineThenin

ruby - grep on Hash 是什么意思?

{'a'=>'b'}.grep/a/=>[]>>{'a'=>'b'}.grep/b/=>[]它似乎与键或值不匹配。它会做一些我不挑剔的事情吗? 最佳答案 grep是在Enumerable上定义的,即它是一个不知道任何关于Hashes的通用方法。它对Enumerable的任何元素进行操作。Ruby没有键值对类型,它只是将Hash条目表示为双元素数组,其中第一个元素是键,第二个元素是值。grep使用===方法过滤掉元素。而且因为既不/a/===['a','b']也不/b/===['a','b']是真的,你总是得到一个空数组作为响应。试试

带有字符串参数的 Ruby grep

我想将grep与字符串一起用作正则表达式模式。我该怎么做?例子:myArray.grep(/asd/i)#Worksperfectly.但我想先准备好我的声明searchString='/asd/i'myArray.grep(searchString)# Fails我怎样才能做到这一点?我需要准备一个字符串,因为这将进入搜索算法,并且查询将根据每个请求进行更改。谢谢。 最佳答案 正则表达式支持插值,就像字符串一样:var="hello"re=/#{var}/ipre#=>/hello/i

Ruby 相当于 grep -v

这就是我一直在做的:my_array.reject{|elem|elem=~/regex/}.each{...}我觉得这有点笨拙,但我还没有发现任何内置的东西可以让我将它更改为my_array.grepv/regex/{...}有这样的功能吗? 最佳答案 Ruby2.3实现了一个Enumerable#grep_v方法,这正是您所追求的。https://ruby-doc.org/core-2.3.0/Enumerable.html#method-i-grep_v 关于Ruby相当于grep

ruby-on-rails - 有没有办法在 Rails 控制台内的输出上实现类似 grep 的功能

在shell中,我可以做到$catname_of_file_with_a_lot_of_text|grep"WhatIamlookingfor"在Rails控制台中,我能否实现类似的功能,比如当我运行一个命令并且输出很大时,尤其是数据库查询。我知道将其输出为YAML,但这不是我要找的。谢谢。 最佳答案 是的,你可以。该方法称为gr...等待它...ep。Ruby的grep适用于String、Array和许多其他内置对象。例如,要获取一个数字的所有to_xxx方法,只需执行以下操作:1.methods.grep(/to_/)

带有行号的 Ruby grep

使用Ruby的Enumerable#grep方法获取匹配行与行号的最佳方法是什么。(因为我们在grep命令中使用-n或--line-number开关)。 最佳答案 Enumerable#grep不允许你这样做,至少在默认情况下是这样。相反,我想到了:text='nowisthetimeforallgoodmentocometotheaidoftheircountry'regex=/aid/hits=text.lines.with_index(1).inject([]){|m,i|m[["tocometotheaid\n",3]]

javascript - 使用javascript在firefox中Grep一个页面

我正在编写一个扩展以在Firefox中提供grep功能。在我的工作场所,我们使用浏览器访问所有日志文件,而grep功能非常适合过滤结果,仅查看特定的日志记录级别(信息、警告、错误)等。已设置扩展样板。想知道我是否可以获得有关所需javascript的一些提示。在函数之后:functiongrepPage(regex){...}这会将正则表达式应用于firefox中加载的文本文件中的每一行,并将加载的文本文件更改为仅显示匹配的行。当我确信会有更简单的方法时,这是我可以花很长时间尝试解决的事情。如有任何帮助,我们将不胜感激。干杯,本 最佳答案

javascript - 在没有对象包装器的情况下使用 Jquery $.grep 过滤对象数组

过滤适用于环绕对象数组的对象(data):vararr={"data":[{"name":"Alan","height":"171","weight":"66"},{"name":"Ben","height":"182","weight":"90"},{"name":"Chris","height":"163","weight":"71"}]};varnew_arr=$.extend(true,arr);new_arr.data=$.grep(new_arr.data,function(n,i){returnn.weight>70;});alert(new_arr.data.lengt

go - 什么是 `regex grep` ,应用于文件,Golang 中的等价物?

问题我现在正在对多个文件运行正则表达式grep以获取所有TODO,但是命令完成需要几分钟时间:real5m8.073suser0m35.593ssys4m17.608s瞄准目标是立即获取TODO的数量。尝试根据网上的资料,我认为Golang是一个不错的选择,因此我创建了以下代码。funccheck_for_todo(pathstring){text:="//\\sTODO\\s\\d"b,err:=ioutil.ReadFile(path)iferr!=nil{panic(err)}s:=string(b)//containsTodo:=strings.Contains(s,text)