Mám strukturu projektu ve svém úložišti git a chtěl bych spustit příkaz shell v git bash, který nahradí všechny >
pomocí >\n
(LF).
Zkoušel jsem následující příkaz:
find . -name '*.xml' -exec sh -c 'sed 's/>/>\n/g "$0"' '{}' ';'
což znamená nahradit výše uvedené sady (>
pomocí >\n
) ve všech xml souborech nalezených v mém projektu.
Nevím, co dělám špatně, když jsem v editoru přistál s kurzorem „>“…
(jen to zkrášlím v editoru – např. Note++ je snadné s pluginy pro XMLTools, ale chci, aby se moje soubory změnily na mít v nich LF za každou značkou XML)
Když napíšu příkaz pouze pro soubor – funguje to dobře:
$ sed 's/>/>\n/g' MyFile.xml
Přijatá odpověď:
Je špatný nápad používat sed
pro tento účel zřejmě formátujete soubor XML.
Je to jednoduchý úkol pro jakýkoli analyzátor XML, např.:
xmllint --format file.xml
Tento nástroj se často instaluje standardně na GNU Linux nebo s balíčkem libxml2
nebo
xmlstarlet format file.xml