🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: ch.comp.os.linux
5 messages
5 total messages Started by Urs Steiner Wed, 31 Mar 1999 00:00
zeilen ausschneiden
#23417
Author: Urs Steiner
Date: Wed, 31 Mar 1999 00:00
26 lines
1046 bytes
Lo zusammen

ich sollte aus einem file einen Teil ausschneiden (automatisch)

das ganze sieht so aus :
fgndghkm
hmnf
kjhzkmfizl,ugi<fasel>fdhstgh
tghrdtzuj
fehz
ghjezt<bla>

und ich sollte alles zwischen <fasel> und <bla> (inklusive) weg
schneiden
kennt da einer ne Methode mit nem Script das zu machen '

Merci
Urs

--
mail: urs [dot] steiner [at] switzerland [dot] org
http://www.vis.ethz.ch/~urs/
phone: 01/261 57 26
    She been married so many times
    she got rice marks all over her face.
            -- Tom Waits
Re: zeilen ausschneiden
#23243
Author: Andreas Umbach
Date: Sun, 04 Apr 1999 00:00
51 lines
1633 bytes
Urs Steiner <urs.steiner@maximilianeum.ch> wrote:
: Lo zusammen

: ich sollte aus einem file einen Teil ausschneiden (automatisch)

: das ganze sieht so aus :
: fgndghkm
: hmnf
: kjhzkmfizl,ugi<fasel>fdhstgh
: tghrdtzuj
: fehz
: ghjezt<bla>

: und ich sollte alles zwischen <fasel> und <bla> (inklusive) weg
: schneiden
: kennt da einer ne Methode mit nem Script das zu machen '

Ein simples skript koennte so aussehen (geht natuerlich auch kuerzer, aber
das sollte jedem einleuchten):

#!/usr/bin/perl

$a = "<fasel>";
$b = "<bla>";

$state = 0;
while(<>) {
    if($state == 2) { print; }
    if($state == 1) {
		if(/$b/) {
			s/.*$b//;
			$state = 2;
		}
		print;
    }
    if($state == 0) {
		if(/$a/) {
			s/.*$a//;
			$state = 1;
		}
		print;
    }
}

Vorsicht! Wenn blah und fasel auf der gleichen Zeile sind geht das
natuerlich in die Hose. Das Skript fuer diesen Fall anzupassen, ueberlassen
wir dem Leser als Uebungsaufgabe.

Andreas Umbach                       E-Mail: aumbach@g26.ethz.ch
-
If it can't be done in FORTRAN, it's not worth doing it.
Re: zeilen ausschneiden
#23252
Author: Marc-A. Woog
Date: Mon, 05 Apr 1999 00:00
50 lines
1526 bytes
On Wed, 31 Mar 1999 14:50:01 +0200, "Urs Steiner" <urs.steiner@maximilianeum.ch>
wrote in <7dt5iq$3at$1@nerys.maximilianeum.ch>:

Hi Urs,

>ich sollte aus einem file einen Teil ausschneiden (automatisch)
>
>das ganze sieht so aus :
>fgndghkm
>hmnf
>kjhzkmfizl,ugi<fasel>fdhstgh
>tghrdtzuj
>fehz
>ghjezt<bla>
>
>und ich sollte alles zwischen <fasel> und <bla> (inklusive) weg
>schneiden
>kennt da einer ne Methode mit nem Script das zu machen '

Wie waere es so?
--------------------
#!/usr/local/bin/perl -w

use strict;
my $text;

while (<DATA>) {
  $text .= $_;
}

$text =~ s#<cut>.*?<end>##gs;
print $text;
exit(0);

__END__
This is a test text<cut>
and this is not to be shown<end>
This is the end
And again<cut>This goes away<end> we have more text.
--------------------
Output:
This is a test text
This is the end
And again we have more text.
--------------------

Gruss

Marc
Re: zeilen ausschneiden
#23264
Author: Urs Steiner
Date: Mon, 05 Apr 1999 00:00
18 lines
1092 bytes
Lo Marc-A. Woog

>ich sollte aus einem file einen Teil ausschneiden (automatisch)

#!/usr/local/bin/perl -w

ich dachte doch dass da irgendwo ein PERL-GURU hervorkommen wuerde ...
die Loesung sieht nicht schlecht aus und ich werde sie in den naechsten
Tagen mal ausprobieren ...

Urs

--
mail: urs [dot] steiner [at] switzerland [dot] org
http://www.vis.ethz.ch/~urs/
phone: 01/261 57 26
    What sane person could live in this world and not be crazy?
                    -- Ursula K. LeGuin
Re: zeilen ausschneiden
#23269
Author: Andreas Umbach
Date: Tue, 06 Apr 1999 00:00
18 lines
968 bytes
Marc-A. Woog <mwoog@gmx.net> wrote:

: Wie waere es so?
: --------------------
: #!/usr/local/bin/perl -w

: use strict;
: my $text;

: while (<DATA>) {
:   $text .= $_;
: }

Ich will ja nicht meckern, aber eine kleine Warnung:
Die obigen Zeilen saugen das GANZE File ins RAM. Und wenn Du wenig RAM hast
und ein grosses (sagen wir > 30 MB) File, dann gibts *evtl.* Probleme.

- Andreas
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads