"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. ssed s 명령 문서에서는 일반적인 정규식 구분 기호를 사용하지만 /모든 문자를 사용할 수 있다고 나와 있습니다.,

관련 정보