Próbuję przekonwertować
<id>1</id>
<Name>ENTERPRISE RESOURCE PLANNING</Name>
do:
<column name="id">1</column>
<column name="Name">ENTERPRISE RESOURCE PLANNING</column>
Zakładam, że najlepszym narzędziem do tego zadania byłoby sed
, ale nie mogę wymyślić, jak zachować części oryginalnego tekstu w części zastępującej.
Jeśli zrobię:
$ sed -i 's/<.*>.*<.*>/<column name="\\1">\\2<\/column>/g' filename.xml
Dane wyjściowe to:
<column name="\1">\2</column>
<column name="\1">\2</column>
Lub robiąc podobnie od wewnątrz vi
, generuje:
<column name=""></column>
<column name=""></column>
Jak mogę to zrobić \1
i \2
zastąpić ich pierwotnymi wartościami?
(
i)
. Głupie pytanie, ale dlaczego to konieczne?