Portál AbcLinuxu, 12. května 2025 07:59
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:
grep '[a-zA-Z0-9]'
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
To (obecně) nefunguje. Jednoduchý protipříklad (v českém locale): žŽ
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ě.)
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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.