Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-06-23 12:14:08

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

sed i usuwanie znaków według warunku

Witam! mam taki problem odnośnie sed'a
Mam wpis który usuwa mi wszystkie cudzysłowia z pliku:

cat test.php | sed 's/"/ /g' > nowy_plik

albo

sed -i 's/"/ /g' test.php

No i OK - usuwa!

Ale w pliku test.php mam mnóstwo takich wpisów:

$BUFFERR = str_replace($przed, $po, "jakies tam "dane' 'dane dalsze" i dalej dane' dane ");

i jak zrobić warunek żeby tylko usuwał cudzysłowia między:

$BUFFERR = str_replace($przed, $po, "

a

");

czyli w tym przypadku z tekstu:
jakies tam "dane' 'dane dalsze" i dalej dane' dane

Był bym bardzo wdzięczny za pomoc!


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2009-06-23 12:23:02

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: sed i usuwanie znaków według warunku

tak na szybko:

Kod:

sed '/$BUFFERR = str_replace/s/"/ /g' plik

usunie w liniach, w ktorych znajduje się "$BUFFERR = str_replace"

jeśli chcesz dokładniej, to trzeba będzie wyrażenie regularne zastosować

Ostatnio edytowany przez azhag (2009-06-23 12:24:10)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#3  2009-06-23 12:40:58

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: sed i usuwanie znaków według warunku

No właśnie chodziło by mi o dokładny warunek:(
żeby usuwał między $BUFFERR = str_replace($przed, $po, "
a
");

czyli jeżeli będzie

$BUFFERR = str_replace($przed, $po, "jakies tam "dane' 'dane dalsze" i dalej dane' dane ");

to wynikiem będzie

$BUFFERR = str_replace($przed, $po, "jakies tam dane' 'dane dalsze i dalej dane' dane ");


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#4  2009-06-24 08:31:57

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: sed i usuwanie znaków według warunku

A w perlu albo czymś innym??? Nie da rady??


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#5  2009-06-25 11:28:29

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: sed i usuwanie znaków według warunku

Kod:

azhag@debian:/tmp$ cat plik2
pocz dupa kakak jjs koniec
dupa pocz kaka dupa koniec
dupa koniec
pocz dupa
azhag@debian:/tmp$ sed -re 's/(.+)?pocz(.+)?dupa(.+)?koniec/\1pocz\2pupa\3koniec/g' plik2
pocz pupa kakak jjs koniec
dupa pocz kaka pupa koniec
dupa koniec
pocz dupa

Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)