Saya memiliki file .xml dan saya mencoba melakukan "groupinstall" pada mesin RHEL6 karena ada beberapa ratus pustaka dalam file .xml itu ... (hampir 16.000 baris).
Karenanya saya mencoba mengekstrak nama grup yang terdapat dalam file .xml yang memiliki struktur ini:
<b>
<group>
<id> group name </id>
<packages>
...
</packages>
<id> group name 2 </id>
<packages>
...
</packages>
<id> etc... </id>
</group>
</b>
Pada dasarnya, ini yang saya coba:
sed -n '/<id>/,/<\/id>/p' test1.txt > test2.txt
Saya menyalin file .xml ke test1.txt. Saya mencoba mengekstrak nama grup dari test1.txt ke file kedua bernama test2.txt. Namun, dengan baris di atas, itu mengekstraksi segala sesuatu dari <id>
tag PERTAMA ke </id>
tag terakhir di file saya. Bagaimana saya bisa mengubah kode saya untuk mengekstraknya beberapa kali?
Pertanyaan kedua saya adalah: apakah plugin -downloadonly berfungsi baik dengan grup untuk yum?
Jawaban:
Kedengarannya seperti apa yang Anda butuhkan lebih dari itu
(dengan asumsi seperti pada sampel Anda bahwa
<id>
dan</id>
berada pada baris yang sama dan bahwa hanya ada satu<id>...</id>
per baris).Atau gunakan alat sadar XML:
sumber
Tolong, cobalah
sumber
Ini akan bekerja dengan tag apa pun , tentu saja juga dengan
<a href="...">...</a>
jangkar. Tidak ada GNUisme yang digunakan - dukungan regex dasar dised
sudah cukup.Namun : harap perhatikan bahwa tag pembuka dan penutup harus di baris yang sama, jika tidak, pernyataan harus ditulis ulang lagi.
sumber
Ini adalah XML, Anda harus menggunakan parser XML. Berikut ini solusi menggunakan XMLStarlet :
Ekspresi XPath
//group/id
akan memilih sembarangid
simpul di bawah satugroup
simpul. The-t -v
berarti "menggunakan template berikut untuk mengekstrak nilai-nilai". Itu-nl
akhir akan memastikan bahwa output diakhiri dengan baris baru.Contoh di atas menggunakan file XML yang identik dengan Anda, tetapi dengan setiap baris yang mengandung
...
dihapus.sumber
Saya membaca posting ini mencari untuk menyelesaikan masalah mengekstraksi Reqd. Paket dari DVD RHEL 7.3
repos.xml
, yang saya pikir persis apa yang penulis coba coba lakukan. Jadi saya harap skrip ini dapat membantu orang lain ... Saya telah menggunakannya berkali-kali sekarang.Jadi saya perlu menginstal grup "GNOME DESKTOP" ke server RHEL7 "Minimal Install" saya yang tidak memiliki konfigurasi X / GUI.
Hmmmmm… tidak ada daftar grup pada DVD untuk yum (ya, saya sudah mencoba semua perbaikan "google" yang biasa dan tidak pernah berhasil) jadi terpaksa mencari sumber dari daftar xml.
Anggap saja Anda sudah lari
createrepo /your/local_rpms/dir
.sumber