Citat:
Pharos: Potrebno mi je da iz jednog fajla cca. 100.000 redova, da izvučem samo one redove koji sadrže npr. Geschäftsleitung i da ih upišem u neki drugi fajl. E sad lako je kad se traže slova iz engleskog alfabeta, al šta da radim sa tim specifičnim karakterima iz nemačkog jezika? Pošto sve kucam u notepad-u, snimio sam fajl kao unicode i ne pomaže.
Zahvaljujem se na pomoći.
Evo, na brzinu sam napisao skriptić koji to radi:
Code:
#!/usr/bin/perl
use utf8;
open (INF, "fajl");
binmode (INF, ':utf8');
my @buffer = <INF>;
close (INF);
binmode (STDOUT, ":utf8");
foreach $l (@buffer) {
if ($l =~ /[^a-zA-Z.,!?\n\s]/) {
print $l;
}
}
U suštini, bitno je da učitaš fajl kao utf 8 (zato je binmode (INF, ':utf8')). Posle toga uradiš regex
/[^a-zA-Z.,!?\n\s]/
što u prevodu znači: ako niz ne sadrži nešto od: sva mala slova (a-z), sva velika slova (A-Z), tačku, zarez, uzvičnik, upitnik, novi red ili razmak. Recimo, ä je takvo slovo :)
Ovo što je Časlav rekao isto ima smisla.
Nadam se da sam dobro razumeo šta ti je potrebno...