Score:0

จะกรองข้อมูลผ่าน awk หรือ grep เพื่อรับเวลาเท่านั้นได้อย่างไร

ธง cn
curl -H ข้อมูลเมตา:true --noproxy "*" "http://169.254.169.254/metadata/instance/compute/tagsList? 
api-version=2019-06-04"| 

ด้วยคำสั่งข้างต้นฉันได้รับคำสั่งด้านล่าง

root@puppetagent-ubuntu1:/home/azureuser# grep -i "shutdown_time" test.txt |awk '/value/{print}' |jq

[ { "name": "Application_Name", "value": "POC-Exception" }, { "name": "Cost_Center", "value": "1000501541" }, { "name": "Stage", "value ": "POC" }, { "name": "shutdown_time", "value": "16:00 [IST]" } ]

ดังนั้นฉันจึงต้องการกรองว่าเวลาและเขตเวลาใดมีค่าเหมือน IST หรือ PST แต่ในส่วนนี้เวลาไม่คงที่และเขตเวลาไม่คงที่ โปรดช่วยฉันด้วย

pLumo avatar
in flag
โปรดให้ผลลัพธ์ที่คาดหวังแก่เรา ภาษาอังกฤษของคุณค่อนข้างเข้าใจยาก บางทีคุณอาจลองแก้ไขสักหน่อย เพื่อให้เราเข้าใจได้อย่างถูกต้อง
hariraj avatar
cn flag
ผลลัพธ์ที่คาดไว้คือ "16:00" สำหรับตอนนี้ แต่ค่าจะเปลี่ยนไปตามแท็กของระบบ
Score:2
ธง in

ใช้ เจคิว:

$ ... | jq -r '.[]|select(.name == "shutdown_time").value'
16:00 น. [ไอเอส]

$ ... | jq -r '.[]|เลือก(.name == "shutdown_time").value' | ตัด -d' ' -f1
16:00 น
hariraj avatar
cn flag
วิธีลบวงเล็บเหลี่ยมผ่านคำสั่ง "cut" หากอินพุตเป็น [16:00]
pLumo avatar
in flag
คุณไม่ได้ใช้ `cut` สำหรับมัน แทนที่จะเป็น `sed` หรือ `awk`
hr flag
... คุณสามารถพิจารณาการกรองเพิ่มเติมภายใน jq เช่น `|split(" ")[0]` ในกรณีแรกหรือ `|sub("[][]";"";"g")` สำหรับกรณีลบวงเล็บ
hariraj avatar
cn flag
ขอบคุณมาก Mr pLumo & Steeldriver สำหรับความช่วยเหลือข้างต้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา