![如何解释“grep -Rl jdk1.7.0_80 . | xargs sed -is,jdk17.0_80,weblogic”?](https://linux22.com/image/88137/%E5%A6%82%E4%BD%95%E8%A7%A3%E9%87%8A%E2%80%9Cgrep%20-Rl%20jdk1.7.0_80%20.%20%7C%20xargs%20sed%20-is%2Cjdk17.0_80%2Cweblogic%E2%80%9D%EF%BC%9F.png)
我刚刚在 rhel 服务器上安装了 Oracle weblogic。安装成功,但是安装指南给了我运行下面的命令,没有解释。我想知道我正在经历什么。
grep -Rl jdk1.7.0_80 . | xargs sed -i s,jdk17.0_80,weblogic,
- jdk1.7.0_70 安装在 /usr/java/jdk1.7.0_80
- weblogic 安装在 /some/path/name 处,安装指南要求我在 /some/path/name 内运行命令。
答案1
分解什么唐克里斯斯蒂指出:
grep -Rl jdk1.7.0_80 .
.
将递归地 ( )搜索当前位置(-R
) ,jdk1.7.0_80
并返回匹配的每个文件的名称 (-l
)。|
将把输出“管道”到下一个命令,xargs
.xargs
将构建并执行来自标准输入(例如管道)的命令。在这种情况下,它将sed
从 . 返回的文件列表中构建一系列命令grep
。sed -i s,jdk17.0_80,weblogic, <filename>
将根据后面的正则表达式就地 ( ) 编辑每个文件-i
并替换 ( )。s
请注意,sed s 命令文档使用典型的正则表达式分隔符但声明可以使用/
任何字符,例如。,