Nowe posty

Autor Wątek: Prosty skrypt sed - jak zapisać do pliku?  (Przeczytany 3095 razy)

Syster

  • Gość
Prosty skrypt sed - jak zapisać do pliku?
« dnia: 2009-08-10, 10:17:49 »
Witajcie!:)
Robię swoje pierwsze kroki w SEDdzie i pojawił mi się dziwny problem. Wykonuję podmianę łańcuchów:
sed -i 's/Jeden/Dwa/'
I to co nie jest dziwne, działa :)
Problem w tym że chce to zapisać do pliku który będzie skryptem seda:
s/Jeden/Dwa/
i po wykonaniu skryptu pojawia mi się błąd:
sed: -e wyrażenie #1, znak 2: dodatkowe znaki po poleceniu
Co to jest?:|

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3059
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Prosty skrypt sed - jak zapisać do pliku?
« Odpowiedź #1 dnia: 2009-08-10, 13:30:29 »
Pewnie dlatego, że sed -e 'cośtam' to to samo co sed 'cośtam' - tak więc nazwę skryptu interpretuje jako skrypt.

Potrzebujesz sed -f nazwapliku

W anglielskim man-ie jest to troche idiotycznie opisane, stąd być może Twój błąd. Parametr '-e' służy do odpalenia kilku poleceń sed-a naraz (np sed -e 'kom1' -e 'kom2' -e 'kom3')
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Syster

  • Gość
Prosty skrypt sed - jak zapisać do pliku?
« Odpowiedź #2 dnia: 2009-08-10, 23:11:38 »
No dobrze wszystko ok a co jeżeli w tekście mamy symbole zastrzeżone? np / \\ #?
normalnie sed wywala wtedy błąd

Już mam :) sed jest na tyle sprytny że wystarczy mu tylko zamienić / na jakikolwiek powtarzający się znak specjalny