파일에서 특정 줄을 복사하고 명령을 추가하는 방법은 무엇입니까?

파일에서 특정 줄을 복사하고 명령을 추가하는 방법은 무엇입니까?
#cat /etc/Symantec.conf
[Symantec Shared]
 BaseDir=/opt/symantec
 JAVA_HOME=/opt/symantec/java/jdk1.6.0_27/jre/bin

/opt/symantec/java/jdk1.6.0_27/jre/bin 위 파일에서 한 줄을 복사한 다음 java -version그 앞에 삽입하는 명령이 필요합니다. 따라서 다음 명령을 실행합니다.

#/opt/symantec/java/jdk1.6.0_27/jre/bin/java -version

답변1

echo $(grep -oP '^\s*JAVA_HOME=\K.*' /etc/Symantec.conf)"/java -version"
    /opt/symantec/java/jdk1.6.0_27/jre/bin/java -version

답변2

가능한 해결책:

# $(sed -n 3p tt | sed 's/JAVA_HOME=//')/java -version

sed -n Np # print line #N
sed 's//' # replace

답변3

시도해 보세요: grep -Po "JAVA_HOME=\K.*" /etc/Symantec.conf/java -version

grep -P는 '\K'를 사용하여 정규식에서 뒤돌아보기를 사용할 수 있도록 허용하고 -o는 정규식에서 일치하는 부분만 반환합니다.

grep을 백틱으로 감싸고 결과로 바꿉니다.

답변4

또 다른 해결책:

$ printf "$(grep JAVA_HOME /etc/Symantec.conf  | cut -d= -f2)/java --version\n"
/opt/symantec/java/jdk1.6.0_27/jre/bin/java --version

원한다면 즉시달리기이 명령은 다음과 같습니다.

$(printf "$(grep JAVA_HOME /etc/Symantec.conf  | cut -d= -f2)/java --version\n")

관련 정보