如何解释“grep -Rl jdk1.7.0_80 . | xargs sed -is,jdk17.0_80,weblogic”?

如何解释“grep -Rl jdk1.7.0_80 . | xargs sed -is,jdk17.0_80,weblogic”?

我刚刚在 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

分解什么唐克里斯斯蒂指出:

  1. grep -Rl jdk1.7.0_80 ..将递归地 ( )搜索当前位置( -R) ,jdk1.7.0_80并返回匹配的每个文件的名称 ( -l)。
  2. |将把输出“管道”到下一个命令,xargs.
  3. xargs将构建并执行来自标准输入(例如管道)的命令。在这种情况下,它将sed从 . 返回的文件列表中构建一系列命令grep
  4. sed -i s,jdk17.0_80,weblogic, <filename>将根据后面的正则表达式就地 ( ) 编辑每个文件-i并替换 ( )。s请注意,sed s 命令文档使用典型的正则表达式分隔符但声明可以使用/任何字符,例如。,

相关内容