Strona 1 z 1
za pomocą basha dodać tekst w środku innego pliku jak ?[solved]
: 20 lis 2009, 10:56
autor: Samar
Mam plik html a w nim:
<Config>
<rule xxx>
</rule>
</Config>
chciałbym dodać nową regułę w środku ale przecież nie mogę tego zrobić tak :
echo "<rule>" >> plik.html
bo doda sie na koncu , wiec jak to zrobić ?
Odp: za pomocą basha dodać tekst w środku innego pliku jak ?
: 20 lis 2009, 11:08
autor: beluosus
Może tak?
Kod: Zaznacz cały
sed -i 's/<\/Config>/<rule yyy>\n<\/rule>\n<\/Config>/' plik
Odp: za pomocą basha dodać tekst w środku innego pliku jak ?
: 20 lis 2009, 11:10
autor: otokan
Uzyj seda.
Cos w stylu
Kod: Zaznacz cały
sed -i.bak '10a costam' filename
sed -i.bak '10i costam' filename
sed -i.bak '/re/a wiersz' filename
Odp: za pomocą basha dodać tekst w środku innego pliku jak ?
: 20 lis 2009, 12:15
autor: Samar
zrobilem tak :
sed -i 's/...sdfs="$1"/'
i mi traktuje zmienne jako tekst :/ jak to zrobić aby zmienne traktowalo jako zmienne
Odp: za pomocą basha dodać tekst w środku innego pliku jak ?
: 20 lis 2009, 12:58
autor: otokan
Bash w pojedynczych cudzyslowach nie interpoluje zmiennych.
Daj
lub
.
Odp: za pomocą basha dodać tekst w środku innego pliku jak ?
: 20 lis 2009, 13:03
autor: Samar
ale w zmiennej mam sciezke a w sciezce sa / ktore sed zinterpretuje po swojemu , trzeba by najpirew te / w zmiennej pozamieniać na \/ ....
Odp: za pomocą basha dodać tekst w środku innego pliku jak ?
: 20 lis 2009, 13:23
autor: otokan
Jako workaround mozesz uzyc w sedzie innego delimitera. Np
Oczywiscie przy zalozeniu, ze znaku @ nie bedzie w $1.
Odp: za pomocą basha dodać tekst w środku innego pliku jak ?
: 20 lis 2009, 13:35
autor: Samar
wreszcie działa, dzięki wielkie.