ファイルから特定の行をコピーしてコマンドを追加するには?

ファイルから特定の行をコピーしてコマンドを追加するには?
#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 上記のファイルから1行をコピーしてから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")

関連情報