Portál AbcLinuxu, 12. května 2025 07:59

Dotaz: Vyfiltrování řádků bez alfanum znaků

6.9.2020 12:47 Marek Skácel
Vyfiltrování řádků bez alfanum znaků
Přečteno: 286×
Odpovědět | Admin
Dobrý den,

dejme tomu, ze mam soubor s obsahem:
1111
asfasd345345!
Asdasasd..
11asd
....
!adasd
!!!...!!
_,,,
0___
A potreboval bych z nej odstranit vsechny radky, ktere neobsahuji ani pismeno (bez ohledu na velikost), ani cislici. Vysledny soubor bude obsahovat pouze:
1111
asfasd345345!
Asdasasd..
11asd
!adasd
0___
Jinymi slovy, projdou pouze radky, ktere obsahuji alespon jeden alfanumericky znak.


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 6.9.2020 12:57 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Vyfiltrování řádků bez alfanum znaků
Odpovědět | | Sbalit | Link | Blokovat | Admin
grep '[a-zA-Z0-9]'
Hello world ! Segmentation fault (core dumped)
Gréta avatar 6.9.2020 15:52 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Vyfiltrování řádků bez alfanum znaků

takle se tam připišou ty soubory třeba kdybys nevěděl

grep '[a-zA-Z0-9]' vstupni_soubor.txt > vystupni_soubor.txt
7.9.2020 13:37 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Vyfiltrování řádků bez alfanum znaků

To (obecně) nefunguje. Jednoduchý protipříklad (v českém locale): žŽ

7.9.2020 13:40 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Vyfiltrování řádků bez alfanum znaků
Odpovědět | | Sbalit | Link | Blokovat | Admin

Třeba takhle:

grep '[[:alpha:][:digit:]]'

(Jinak pozor na rozsahy typu [A-Za-z0-9] a podobné pasti: Nepasuje do nich například ž a Ž, o (ještě) méně latinských abecedách nemluvě.)

7.9.2020 14:11 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Vyfiltrování řádků bez alfanum znaků

Nebo:

grep '[[:alnum:]]'

Nebo kdyby to mělo být v Bashi a jenom v Bashi:

while read line; do
  [[ "$line" = *[[:alnum:]]* ]] && echo "$line"
done

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.