我询问this question以获得站点上描述的特定模式的正确grep命令。现在我正在尝试处理文本文件 - 我在每行上使用修改的模式grep,如果grep返回匹配,我想采取一些操作。我的代码看起来或多或少是这样的:Ruby中的grep:递归调用可能无限循环
file.each_line do |line|
myVariable = `echo '#{line}' | grep -P '>(?!((?:[^)]|\((?1)\))*)$)'`
if myVariable == '' doSomething else doOtherThing end
end
每次调用回声grep的线,显示了这个:
grep: recursive call could loop indefinitely
,并返回一个空字符串 - 这表明一个错误。
现在我也刊登了类似的行:
myVariable = `echo "#{line}" | grep -P '>(?!((?:[^]]|\[(?1)\])*)$)'`
,但此行工作正常。
现在,我得到这个消息对于输入的每一行,但此行肯定给错误输出:
example <something>
需要注意的是运行在命令行相同的COMAND,无论是与回声或文件,作品正好。
考虑到所有的信息,问题是:
我应该怎么做,以消除错误信息,使这个grep的呼叫工作?
请使用snake_case作为变量。 CammelCase仅适用于课堂或模块 –