Strona 1 z 1

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

: 09 kwietnia 2008, 18:41
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ł

: 09 kwietnia 2008, 19:43
autor: thalcave

Kod: Zaznacz cały

cat plik | sed s/.*://g

: 09 kwietnia 2008, 22:12
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

: 10 kwietnia 2008, 00:10
autor: thalcave
Może troche nie eleganckie, ale działa:

Kod: Zaznacz cały

cat plik | cut -d: -f2-100

: 10 kwietnia 2008, 01:30
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 ?

: 10 kwietnia 2008, 12:11
autor: salmon

Kod: Zaznacz cały

cat plik | grep .iso

: 11 kwietnia 2008, 02:08
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