bash --- sed usuni

Potrzebujesz pomocy z C, C++, perl, python, itp.
painspr
Posty: 10
Rejestracja: 26 listopada 2007, 23:48
Lokalizacja: E³k / Gdañsk

bash --- sed usunięcie do pierwszego wystąpienia znaku

Post autor: painspr »

Witam
Mam pytanie dotyczące sed. Jak z jego pomocą usunąć wszystko do pierwszego wystąpienia danego znaku w linii? Np.: linia:

Kod: Zaznacz cały

thttpd.log.9.gz:207.46.98.33 /site/cdlinux/iso/extras/cdlcenter-isomaker.sh 200
i chcę aby usunęło wszystko do pierwszego ":". Dalej mogą być kolejne bo może być adres IPv6

Pozdrowienia
Paweł
thalcave
Junior Member
Posty: 526
Rejestracja: 03 maja 2007, 19:57
Lokalizacja: gdynia

Post autor: thalcave »

Kod: Zaznacz cały

cat plik | sed s/.*://g
painspr
Posty: 10
Rejestracja: 26 listopada 2007, 23:48
Lokalizacja: E³k / Gdañsk

Post autor: painspr »

w przypadku takiej linii

Kod: Zaznacz cały

thttpd.log.7.gz:2001:4070:2:0:202:b3ff:fe98:99e6 /site/cdlinux/iso/v0.5/cdlinux-maly-0.5.8.iso
zostaje to

Kod: Zaznacz cały

99e6 /site/cdlinux/iso/v0.5/cdlinux-maly-0.5.8.iso
thalcave
Junior Member
Posty: 526
Rejestracja: 03 maja 2007, 19:57
Lokalizacja: gdynia

Post autor: thalcave »

Może troche nie eleganckie, ale działa:

Kod: Zaznacz cały

cat plik | cut -d: -f2-100
painspr
Posty: 10
Rejestracja: 26 listopada 2007, 23:48
Lokalizacja: E³k / Gdañsk

Post autor: painspr »

dzięki to działa, mam jeszcze jedno pytanie. Jak zrobić żeby zostały linie które kończą się tylko na .iso ?
salmon
Beginner
Posty: 296
Rejestracja: 12 października 2007, 23:28
Lokalizacja: Gliwice/Bielsko-Biała

Post autor: salmon »

Kod: Zaznacz cały

cat plik | grep .iso
painspr
Posty: 10
Rejestracja: 26 listopada 2007, 23:48
Lokalizacja: E³k / Gdañsk

Post autor: painspr »

dzięki ale to wyszuka .iso gdziekolwiek i w dodatku . to znaczy dowolny znak, ale już doszedłem do tego, jakby ktoś chciał :

Kod: Zaznacz cały

grep "\.iso$" plik
ODPOWIEDZ