Tôi đang cố gắng trích xuất tên ứng dụng từ ps
lệnh như thế này:
ps -af -u sas |grep "java"| grep -v "grep"
và nó tạo ra như sau:
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
Tôi đã thử sử dụng egrep
nhưng dường như không hoạt động:
ps -af -u sas|grep "java"| grep -v "grep"| egrep -o "-Dapp.name"
Làm thế nào tôi chỉ có thể nhận được -Dapp.name
giá trị "myApp"?
grep -o -- -Dapp.name
grep [j]ava
để tránh lệnh grep -v "grep"
(được thử nghiệm trên bash)
grep
mô hình bắt đầu bằng-
, bạn cần đặt nó sau-e
tùy chọn. Nếu không, nó sẽ được coi là một lựa chọn. Nhưng điều đó sẽ chỉ phù hợp với từ này-Dapp.name
, không phải là phần sau nó.