私はps
このようなコマンドからアプリケーション名を抽出しようとしています:
ps -af -u sas |grep "java"| grep -v "grep"
そしてそれは以下を生成します:
sas 24431 1 0 Oct10 ? 00:51:08 /usr/lib/jvm/java-1.7.0-oracle-1.7.0.25.x86_64/jre/bin/java -Denv=DEV -Dapp.name=myApp -Xms512m -Xmx1g -Dlog.dir=/apps/java/logs
私は使用しようとしましたegrep
が、動作していないようです:
ps -af -u sas|grep "java"| grep -v "grep"| egrep -o "-Dapp.name"
-Dapp.name
値「myApp」のみを取得するにはどうすればよいですか?
grep -o -- -Dapp.name
grep [j]ava
コマンドを回避するために使用できますgrep -v "grep"
(bashでテスト)
grep
パターンがで始まる場合は-
、-e
オプションの後に置く必要があります。それ以外の場合は、オプションとして扱われます。しかし、これは単語の-Dapp.name
後に続く部分ではなく、単語に一致します。