Strona 1 z 1

[solved][bash] Wycinanie linii o określonej długości

: 27 wrz 2009, 23:04
autor: tbk
Witam.
Potrzebuję wyciąć z pliku tekstowego linie o długości przekraczającej określoną ilość znaków.
Przykładowo mam w pliku:

Kod: Zaznacz cały

...
1 - blablabla długa linia
2 - krótka linia
3 - bla krótka linia
4 - blablablablabla najdłuższa linia
...
Chodzi mi o to, żeby usunęło mi linie 2 i 3...
Czyli zostały linie o długości przekraczającej powiedzmy 20 znaków.
Z góry dziękuje za odpowiedź.

Odp: [bash] Wycinanie linii o określonej długości

: 28 wrz 2009, 07:44
autor: szczeles
Nie bash, tylko awk :-)

Kod: Zaznacz cały

cat elo | awk '{if (length <= 20) print $0}'

Odp: [bash] Wycinanie linii o określonej długości

: 28 wrz 2009, 09:42
autor: beluosus
I po co |? Złych nawyków uczysz. ;)

Kod: Zaznacz cały

awk '{if (length <= 20) print $0}' plik

Odp: [bash] Wycinanie linii o określonej długości

: 28 wrz 2009, 11:36
autor: szczeles
beluosus pisze:I po co |? Złych nawyków uczysz. ;)
Co prawda to prawda, po prostu lubię pipe'a :-)

Odp: [bash] Wycinanie linii o określonej długości

: 28 wrz 2009, 11:39
autor: leon1313
Zły nawyk to taki, który nie prowadzi do celu. Tu co najwyżej można mówić o dopracowaniu tego, co działa.

Odp: [bash] Wycinanie linii o określonej długości

: 29 wrz 2009, 02:47
autor: tbk
Dzięki za odpowiedź.
Pozdrawiam.