sed, bash - zmiana jednego wiersza

Potrzebujesz pomocy z C, C++, perl, python, itp.
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

sed, bash - zmiana jednego wiersza

Post autor: sethiel »

W pliku xml są między innymi linie:

Kod: Zaznacz cały

<bss>wlan0bssvap1</bss>
<wep-default-key>1</wep-default-key>
<wep-key-length>104</wep-key-length>
<wep-key-ascii>no</wep-key-ascii>
<wpa-personal-key>random01</wpa-personal-key>
<security>wpa-personal</security>
Używam polecenia sed w skrypcie:

Kod: Zaznacz cały

#!/bin/bash
PASS_OLD="random01"
PASS_NEW="00-01-20"
sed -i 's/$PASS_OLD/$PASS_NEW/' /srv/tftp/config.xml
i nic się nie dzieje.
Co tu robię źle?
Natomiast jak wpisuję to z ręki w konsoli to działa. Dlaczego w skrypcie to nie hula?

To co działa z ręki w konsoli:

Kod: Zaznacz cały

sed -i 's/random01/00-00-00/' /srv/tftp/config.xml
[edycja]
Rozwiązanie (tragiczne moim zdaniem) - jeśli ktoś zaproponuje ładniejsze to będzie fajnie

Kod: Zaznacz cały

#!/bin/bash
PASS_OLD="random01"
PASS_NEW="00-01-20"
echo "sed -i 's/$PASS_OLD/$PASS_NEW/' /srv/tftp/config.xml" > ./plik
bash ./plik
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Próbowałeś z -e ?
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post autor: sethiel »

Tak, z -e i bez niczego i generalnie nic.
Próbowałem też tak:

Kod: Zaznacz cały

zmienna="sed -i 's/$PASS_OLD/$PASS_NEW/' /srv/tftp/config.xml"
$zmienna
ale wywołanie powodowało błąd:

Kod: Zaznacz cały

"sed: -e expression #1, char 1": unknown command: `'
Tak więc coś nie tak ze zmiennymi w pamięci się dzieje, albo tego używa się inaczej niż myślę.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Panie sethiel. Wiesz Pan czym się różni ' od "? No to sprawdź:

Kod: Zaznacz cały

#!/bin/bash
PASS_OLD="random01"
PASS_NEW="00-01-20"
sed -i "s/$PASS_OLD/$PASS_NEW/" /srv/tftp/config.xml
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Oj, zanim napisał na forum powinien był to sprawdzić...
ODPOWIEDZ