Avatar billede ostehamster Nybegynder
12. december 2007 - 08:10 Der er 8 kommentarer og
1 løsning

Fjerne alle linie der starter med XX

Hej

Jeg sidder og er ved at sammen sætte en rapport, hvor jeg skal have inkluderet en fil. Jeg har så lige fundet ud af, at filen indeholder ca. 1500 linier hvor der står "WARNING: something".

Er der en nem og hurtig måde at fjerne de linie på? Det behøver ikke være Perl, bare det kan afvikles på en standard Linux maskine.

På forhånd tak

/Christoffer
Avatar billede Slettet bruger
12. december 2007 - 10:06 #1
indlæser du filen linie for linie?

jeg plejer bare at bruge

LINE:
while (my $l = <$FH> ) {
  next LINE if $l =~ /.../;
  ...
}
Avatar billede ostehamster Nybegynder
12. december 2007 - 10:10 #2
Jeg var ikke lige nået til hvordan jeg skulle læse filen :) Men har i mellem tiden fundet ud af at:
grep -v WARNING file.txt gør lige hvad jeg har brug for.

Men takker for svaret. Point?
Avatar billede Slettet bruger
12. december 2007 - 10:14 #3
anbefaling: få fat på Programming Perl samt evt. Perl cookbook
Avatar billede nielle Nybegynder
12. december 2007 - 18:20 #4
Din egen løsning skelner ikke mellem om WARNING står i starten af linjen eller et andet sted, men det er måske i virkeligheden også lige meget når det kommer til stykket.

daleif's kode modificeret til at gøre dette:

LINE:
while (my $l = <$FH> ) {
  next LINE if $l =~ /^WARNING/;
  ...
}

Selv ville jeg nu nok hellere have brugt awk men det er vist et spørgsmål om smak og behag. :^)
Avatar billede Slettet bruger
13. december 2007 - 10:14 #5
next LINE if $l =~ /^\s*WARNING/;

er måske bedre, ved ikke lige hvilket program det var der lavede filen
Avatar billede kodehoved Nybegynder
04. juni 2008 - 13:51 #6
@daleif: er det ikke lidt overflødigt at bruge en label her?

Du kan jo bare skrive

next if $l =~ /^WARNING/;

Brian
Avatar billede Slettet bruger
04. juni 2008 - 14:20 #7
jo, det er rent og skær af god vane (Kig i Perl Best Practices), så er der slet ingen tvivl når man læser koden.
Avatar billede kodehoved Nybegynder
04. juni 2008 - 19:01 #8
@daleif - tak for uddybningen. Jeg har læst mange Perl-bøger gennem tiden, men ikke lige den. Jeg erindrer heller ikke at være stødt på den praksis før, men jeg kan da sagtens se ideen. Jeg synes dog nok, at det er en anelse overkill, men never mind that.
Avatar billede Slettet bruger
05. juni 2008 - 15:36 #9
det er en rigtig god bog, med en masse gode forslag til hvordan man skriver god perl kode. Ikke bare god kode men også kode som bliver nemmere for andre at vedligeholde bagefter.

ok, jeg er ikke altid lige god til at overholde dem, men alligevel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester