Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Java应用程序和grep-如何独立处理通过两个正则表达式传递给grep的命令输出?_Regex_Shell_Text_Grep_Pipe - Fatal编程技术网

Regex Java应用程序和grep-如何独立处理通过两个正则表达式传递给grep的命令输出?

Regex Java应用程序和grep-如何独立处理通过两个正则表达式传递给grep的命令输出?,regex,shell,text,grep,pipe,Regex,Shell,Text,Grep,Pipe,我有一个使用SSH连接的Java应用程序,远程运行CLI命令。对于一个特定的命令,我希望通过两个正则表达式来传递命令的输出,找到整个输出的两个相关子集,并将该输出返回给我的程序 对于两个正则表达式中的每一个:&,我想分别格式化生成的输出:&via&;然后返回最终结果,例如(请原谅伪shell脚本): | grep-e-e |(给予和给予)收益率 试试这个 <command> | tee >(grep -e <RE1> | <action1>) >(

我有一个使用SSH连接的Java应用程序,远程运行CLI命令。对于一个特定的命令,我希望通过两个正则表达式来传递命令的输出,找到整个输出的两个相关子集,并将该输出返回给我的程序

对于两个正则表达式中的每一个:&,我想分别格式化生成的输出:&via&;然后返回最终结果,例如(请原谅伪shell脚本):

| grep-e-e |(给予和给予)收益率
试试这个

<command> | tee >(grep -e <RE1> | <action1>) >(grep -e <RE2> | <action2>)
| tee>(grep-e |)>(grep-e |)

我会使用这个过程临时创建两个临时文件,但仍然是一行程序:

command | 
awk '/RE1/ {print >> "tmp1"} /RE2/ {print >> "tmp2"}' && 
{ action1 < tmp1; action2 < tmp2; rm tmp1 tmp2; }
命令|
awk'/RE1/{print>>“tmp1”}/RE2/{print>>“tmp2”}和
{action1
您真的要从Java调用另一个程序吗?那不是一种异端吗?“Java是道路、真理和光明,除了Java之外,没有人能实现他的数据。”我不知道你是如何得出这个结论的。。。实际上,我甚至不确定这个问题是否应该首先用Java标记…:)您是希望两个操作的输出都返回到主程序,还是真的要返回命令的输出?@glenn jackman I更新了原始问题以反映您问题的答案。
command | 
awk '/RE1/ {print >> "tmp1"} /RE2/ {print >> "tmp2"}' && 
{ action1 < tmp1; action2 < tmp2; rm tmp1 tmp2; }