Chcę przeczytać plik "teste", zrobić "znajdź & zamień" i nadpisać "teste" z wynikami. Im bliżej mam do dziś jest:Podstawianie tekstu (czytanie z pliku i zapisywanie do tego samego pliku) na Linuxzie z sed
$cat teste
I have to find something
This is hard to find...
Find it wright now!
$sed -n 's/find/replace/w teste1' teste
$cat teste1
I have to replace something
This is hard to replace...
Gdy próbuję zapisać do tego samego pliku w ten sposób:
$sed -n 's/find/replace/w teste' teste
czyli
$sed -n 's/find/replace/' teste > teste
wynik będzie pusty plik ...
Wiem, że brakuje mi czegoś bardzo głupiego, ale każda pomoc będzie mile widziana.
UPDATE: Na podstawie wskazówek podanych przez ludzi i tym linkiem: http://idolinux.blogspot.com/2008/08/sed-in-place-edit.html oto mój zaktualizowany kod:
sed -i -e 's/find/replace/g' teste
Dziękuję bardzo. Czy "ed" byłoby bardziej odpowiednie do edycji na miejscu zamiast "sed"? – Roger
Tak i nie; 'ed' jest lepszy do edycji w miejscu, ale nie jest zbyt wygodny do użycia w skryptach, dlatego' sed' rozwinął niestandardową opcję (-i POSIX) '-i'. – geekosaur
Tak więc w przypadku edycji i edycji w miejscu najlepszym w Linuksie jest "sed". Czy to prawda, że tak jest? – Roger