trideni textoveho souboru
Honza Pazdziora
adelton na fi.muni.cz
Čtvrtek Červen 8 14:14:01 CEST 2000
On 8 Jun 2000 12:37:36 +0200, jsvec na sitel.cz <jsvec na sitel.cz> wrote:
> Mam asi 40 MB velky textovy soubor, ve kterem je velke mnozstvi radku se
> stejnou strukturou, napr:
> 4545454 111 013201032103210321 3212
> 4545 456 4654876543221 1548
> 1213212 154 448657687 1233
> atd...
> Problem je v tom, ze nektere radky se v souboru vyskytuji nekolikrat (a
> nejsou bezprostredne za sebou) a ja je potrebuji odstranit (proste kazda
> radka by mela byt v souboru jenom jednou). Vim, ze Linux obsahuje silne
> nastroje pro praci s textem, tak me napadlo udelat to v nem. Bohuzel se
> Linuxu nevenuji prilis dlouho a nevim co s tim.
Pokud nechcete/nemuzete menit poradi tech radku, takze byste mohl
pouzit uz zminete
sort | uniq
tak se da vyuzit awk nebo perl, zde zkusime perl:
#!/usr/bin/perl -n
print unless exists $hash{$_};
$hash{$_} = 1;
__END__
pripadne pokud hrozi nebezpeci, ze na jednom radku jsou tabelatory a
na druhem mezery, tak normalizovat
#!/usr/bin/perl -n
my $norm = $_;
$norm =~ s/\s+/ /g;
print unless exists $hash{$norm};
$hash{$norm} = 1;
__END__
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
------------------------------------------------------------------------
Další informace o konferenci Linux