Score:0

วิธีใช้ bash/sed เพื่อแยกค่าแอตทริบิวต์ XML

ธง in

ฉันมีคำสั่ง grep ต่อไปนี้ใน sed เพื่อค้นหาแอตทริบิวต์ชื่อองค์ประกอบและเก็บผลลัพธ์ sed ไว้ในตัวแปรชื่อ

 name=$(grep -E "<element.*name=.*/>" "$F" | sed -e "s/.*<element.*name=\(.*\)\/>.*? /\1/")

ข้อมูลตัวอย่าง -

<element name="Barium"/>

ผลลัพธ์ที่ต้องการ -

แบเรียม

ผลลัพธ์จริง -

<element name="Barium"/>

ฉันสับสนเล็กน้อยเกี่ยวกับวิธีรับคำสั่ง sed เพื่อกำจัดส่วนเกิน

(ฉันรู้ว่า xmllint จะทำให้สิ่งนี้ง่ายขึ้น แต่ไม่สามารถใช้งานได้)

Score:0
ธง cn

คุณไม่ต้องการ sed สำหรับสิ่งนี้:

grep -Po '(?<=<ชื่อองค์ประกอบ=")[^"]+' <ไฟล์>

หรือ

grep -Po '<ชื่อองค์ประกอบ="\K[^"]+' <ไฟล์>

โพสต์คำตอบ

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