Jak usunąć / podmienić pewien ciąg znaków w pliku ?

Paweł Sikora pluto w ds14.agh.edu.pl
Pią, 27 Lut 2004, 14:28:32 CET


On Friday 27 of February 2004 14:14, Karol Krenski wrote:
> On Fri, Feb 27, 2004 at 01:58:11PM +0100, Paweł Sikora wrote:
> > On Friday 27 of February 2004 13:11, Mateusz Korniak wrote:
> > > Chodzi o usunięcie ścieżek "/tmp/foo-root/matkor"  np z konfigów ?
> > > Idealnie aby nowy plik był zapisywany w miejscu starego ..
> >
> > sed -i 's:ciag::g' plik
>
> Hej, piękne to! W takim razie źle czytałem manuala, bo szukałem właśnie
> tego.

zawsze wpierwaj --help czytaj, bo many moga byc nieaktualne ;)

# sed --help
(...)
  -i[rozszerzenie], --in-place[=rozszerzenie]
                 edytuje pliki "w miejscu" (tworzy kopie zapasowe
                 jeżeli zostało podane rozszerzenie).

> Mały minus za wstawianie pustych wierszy w miejsce ciag...

chodzi ci o takie przypadki?

# cat xxx
adkcfgmr
ar,cgk/root/usrsarcgsh
/root
3242154

# sed -i 's:/root::g' xxx

# cat xxx
adkcfgmr
ar,cgk/usrsarcgsh

3242154

wszystko jest zgodnie z planem. sed nie "widzi" wierszy,
on dziala na strumieniu i tnie to co mu sie nakaze.

> - chętnie podpatrzę jak rozwiązujesz ten problem.

egrep -v ^$
niestety poki co egrep nie ma --in-place, a szkoda.

-- 
The only thing necessary for the triumph of evil
  is for good men to do nothing.
                                           - Edmund Burke



Więcej informacji o liście dyskusyjnej pld-devel-pl