Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
pomoc z sed http://forum.freesco.pl/viewtopic.php?f=22&t=7102 |
Strona 1 z 1 |
Autor: | czerwo [ czwartek, 17 marca 2005, 00:53 ] |
Tytuł: | pomoc z sed |
Mam problem a mianowicie Jest plik z zawartoscia: 125.145.647.987 555.555.555.555 10.10.10.10 i teraz chce sprawdzic czy w pliku wystepuje ciag znakow 10.10.10.10 jezeli tak to ma go uzunac. Z wyszukaniem i sprawdzenie nie ma problemu ale problem mam z usunieciem, bodajze da sie to zrobic przez polecenie sed tylko jak ;/ narazie udalo mi sie zamienic 10.10.10.10 na spacje ale wtedy zostaje mi pusty wiersz ;/ Chyba ze ktos ma inny pomysl Pozdrawiam |
Autor: | Mis' [ czwartek, 17 marca 2005, 01:48 ] |
Tytuł: | Re: pomoc z sed |
czerwo pisze: Mam problem a mianowicie
Jest plik z zawartoscia: 125.145.647.987 555.555.555.555 10.10.10.10 i teraz chce sprawdzic czy w pliku wystepuje ciag znakow 10.10.10.10 jezeli tak to ma go uzunac. there's so many ways to skin a cat ![]() to usunie wszystkie linie zawierające 10.10.10.10: grep -v '10\.10\.10\.10' /scieżka/plik > plik_wynikowy jak wyżej sedem: sed -i '/10\.10\.10\.10/d' /sciezka/plik to usunie wszystkie linie w których występuje 10.10.10.10 na początku linii: sed -i '/^10\.10\.10\.10/d' /sciezka/plik jak wyżej ale grepem: grep -v '^10\.10\.10\.10' /sciezka/plik > plik_wynikowy można jeszcze uzyć awk... i paru innych narzędzi ![]() oczywiście najczęściej takich poleceń używa się w scriptach więc zamiast operacji na plikach można użyć pipe (czyli przekierowania wyjścia jednego polecenia na wejscie innego): jakieś_operacje | sed '/^10\.10\.10\.10/d' | inne_operacje (pipe uzyskujemy wstawiając pomiędzy poleceniami pionową kreseczkę) UWAGI! 1. opcja "-i" w wywołaniu seda nie będzie działać na każdej wersji seda. sed w NND potrafi skorzystać z tej opcji. 2. jeśli używamy seda w pipe to niepotrzebna jest opcja -i 3. Powyższy post został zmieniony w stosunku do pierwotnej wersji - poprawiłem błędy zgłoszone przez Mac!ka. Dziękuję za uwagi. Pozostałych przepraszam za wprowadzenie w błąd. |
Autor: | czerwo [ sobota, 19 marca 2005, 11:06 ] |
Tytuł: | |
dzieki Mis` wsyzstko chodzi jeszcze sie musze sporo nauczyc ale teraz mam inny problem potrzebuje sprawdzac czy 10.10.10.1 albo inne ip ze to jest ip a nie kawalek tekstu mozna to zrobic spokojnie grepem ale mam problemy a mianowicie adres ip moze byc w postaci x.x.x.x; xxx.xxx.xxx.x itd. dlatego musze napisac ze ma szukac lini w postaci liczba,liczba ale nie musi byc, liczba ale nie musi byc, kropka, itd wymyslilem ze mozna to zrobc grep -w [[:digit:]] ale nie umiem 2 znaku jak zrobic ze moze byc ale nie musi czyli przedzial ze wystepuje 0 lub 2 bo jeszcze 2 liczba i pozniej kropka. Albo moze da sie jakis wzor zastosowac walczyl juz ktos z czym takim |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |