Saya memiliki direktori yang penuh dengan file XML yang terlihat seperti ini, di mana saya ingin mengubah nilai nomor elemen "offset" dari 1 ke nomor lain
$ cat my.xml
<offset xmlns="">1</offset>
Saya menulis berbagai kombinasi dari perintah sed ini, tetapi tidak ada yang saya coba berjalan tanpa kesalahan. Saya cukup yakin bahwa saya harus menghindari beberapa karakter, tetapi karakter yang saya coba selalu berakhir dengan kesalahan ("token tidak terduga", "opsi tidak dikenal", dll). Saya juga mencoba tanpa tanda -e, karena itu sebenarnya bukan ekspresi.
sed -i -e s/<offset xmlns="">1</offset>/<offset xmlns="">99</offset>/ *.xml
Bantuan apa pun akan dihargai.
Jawaban yang Diterima:
Coba ini,
$ sed 's~<offset xmlns="">1~<offset xmlns="">99~g' file
<offset xmlns="">99</offset>
Gunakan pembatas sed yang berbeda jika input berisi garis miring.
Tangguhkan Sementara Bash_history Pada Shell yang Diberikan?
Bagaimana Mengeksekusi Setara `head -z` Ketika Saya Tidak Memiliki Opsi `-z` Yang Tersedia?