GNU/Linux >> Belajar Linux >  >> Linux

Sebuah Xml Tanpa Lf Ingin Membuatnya Cantik Menggunakan Perintah Sed Di Shell?

Saya memiliki struktur proyek di repositori git saya dan ingin menjalankan perintah Shell di git bash untuk mengganti semua > dengan >\n (LF).
Saya mencoba perintah berikut:

find . -name '*.xml' -exec sh -c 'sed 's/>/>\n/g "$0"' '{}' ';'

artinya mengganti set di atas (> dengan >\n ) di semua file xml yang ditemukan di proyek saya.

Saya tidak tahu apa yang saya lakukan salah karena saya mendarat di editor dengan kursor ">"...
(hanya membuatnya cantik di editor - mis. Note++ mudah dengan plugin untuk XMLTools tetapi saya ingin file saya diubah menjadi ada di dalamnya LF setelah setiap tag XML)

Saat saya menulis perintah hanya untuk file – ini berfungsi dengan baik:

$ sed 's/>/>\n/g' MyFile.xml

Jawaban yang Diterima:

Sebaiknya gunakan sed untuk ini, yang tampaknya Anda lakukan adalah memformat file XML.

Ini adalah tugas sederhana untuk parser XML apa pun, mis:

xmllint --format file.xml

Utilitas ini sering diinstal secara default di GNU Linux, atau dengan paket libxml2

atau

xmlstarlet format file.xml

Linux
  1. Bagaimana mengkonversi file PPK ke PEM menggunakan Command

  2. 10 Contoh Perintah Sed (Stream Editor)

  3. sed Contoh Perintah di Linux

  1. Menggunakan beberapa pola sekaligus dengan perintah Sed

  2. sed:perintah tidak ditemukan

  3. Shell:apakah mungkin menunda perintah tanpa menggunakan `sleep`?

  1. Menggunakan Tombol Vi Untuk Mengedit Perintah Shell Di Unix?

  2. Bagaimana Cara Menghapus N Baris Pertama Dari File Ascii Menggunakan Perintah Shell?

  3. Simpan File Setelah Menggunakan Perintah Sed?