ฉันพยายามดึงชื่อแอปพลิเคชันจาก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
ไม่ใช่ส่วนหลังจากนั้น