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