|
[+] BASH, sed, spacje w dodawanym tekście wysypują skrypt
czakll - 14-05-2010 20:25
Witam serdecznie. Borykam się z skryptem masowo edytującym pliki tekstowe po znalezieniu danego tekstu, oto część skryptu:
echo 'Podaj nick: ' read nick mv $plikdocelowy $pliktymczasowy sed 's|;Tekstktoregoszukam|& \n"'$nick'" |' $pliktymczasowy > $plikdocelowy
Po wykonaniu skryptu i dodaniu nazwy ze spacją zwraca: sed: -e expression #1, char 26: unterminated `s' command
Czy da się jakoś pozbyć tego problemu? Pozdrawiam.
salmon - 14-05-2010 20:30
Wszystkie zmienne powinny być w cudzysłowach.
czakll - 14-05-2010 21:15
wszystkie zmienne powinny być w cudzysłowach
Z Twojej wypowiedzi rozumiem, że mam zamienić z : sed 's|;Tekstktoregoszukam|& \n"'$nick'" |' $pliktymczasowy > $plikdocelowy
na
sed 's|;Tekstktoregoszukam|& \n""$nick"" |' $pliktymczasowy > $plikdocelowy
lecz to dodaje do pliku zamiast zawartości tej zmiennej. Do pliku chcę dopisać przykładowo: Co robię źle?
salmon - 14-05-2010 23:04
ok, źle popatrzyłem, spróbuj tak:
sed "s|;Tekstktoregoszukasz|& \n\"'$nick'\" |" $pliktymczasowy > $plikdocelowy
czakll - 15-05-2010 00:31
Niestety, jest bez zmian :(
salmon - 15-05-2010 09:42
Pokaz jakiś przykład, na którym się wywala
Yuji - 15-05-2010 10:06
echo 'Podaj nick: ' read nick mv "$plikdocelowy" "$pliktymczasowy" sed 's|;Tekstktoregoszukam|& \n"'"$nick"'" |' "$pliktymczasowy" > "$plikdocelowy"
czakll - 21-05-2010 15:35
Witam po dłuższej przerwie, sposób podany przez Yuji działa. Dziękuję za poświęcony czas i pozdrawiam.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|