Schrift
[thread]10601[/thread]

Regulärer Ausdruck, Zeilenumbruch (Seite 2)

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
renee
 2007-10-17 15:25
#100973 #100973
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was hältst Du davon?
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/local/bin/perl
############################
use strict;
use warnings;
use Fcntl qw/O_RDONLY O_WRONLY O_CREAT O_EXCL/;

my $file = 'testinput.txt';
my $tmp = 'output.txt';

sysopen(INPUT, $file, O_RDONLY) or die "unable to open the input file";    #Datei wird systemnah, nur zum Lesen, geöffnet
sysopen(OUTPUT, $tmp, O_WRONLY | O_CREAT) or die "unable to open job2.inp: $!";

while(my $test = <INPUT>){
    if( $test =~ /testende/ ){
        print OUTPUT "das ist der eingefuegte Text\n";
    }
    print OUTPUT $test;
}
close (INPUT);
close (OUTPUT);
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Teesemmel
 2007-10-17 15:31
#100975 #100975
User since
2007-10-16
7 Artikel
BenutzerIn
[default_avatar]
Wow, super... ja damit funktioniert die Sache! Vielen Dank,

allerdings habe ich doch noch eine Frage... Angenommen es gibt in dem Skript mehrere Teile wie z.B.
Code: (dl )
1
2
3
4
5
textEINS
testende

textZWEI
testende

und ich möchte jetzt aber zwischen textZWEI und testende etwas einfügen... Dann kann ich das wie in meinem vorherigen Post machen, oder?

Gibt es irgendeine Lösung, dass ich den RA auch für mehrere Zeilen matchen kann?

Vielen vielen Dank für eure Antworten, hat mir sehr geholfen!
renee
 2007-10-17 15:32
#100977 #100977
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da Du zeilenweise einliest, hast Du keinen Mehrzeiligen Text...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2007-10-17 15:34
#100978 #100978
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hiermit bekommst Du "Blöcke":
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/local/bin/perl
############################
use strict;
use warnings;
use Fcntl qw/O_RDONLY O_WRONLY O_CREAT O_EXCL/;

my $file = 'testinput.txt';
my $tmp = 'output.txt';

my $new = "das ist der eingefuegte Text\n";

sysopen(INPUT, $file, O_RDONLY) or die "unable to open the input file";    #Datei wird systemnah, nur zum Lesen, geöffnet
sysopen(OUTPUT, $tmp, O_WRONLY | O_CREAT) or die "unable to open job2.inp: $!";

local $/ = "\ntestende";

while(my $entry = <INPUT>){
    $entry =~ s/testende/${new}testende/g;
    
    warn ">>$entry<<";
    
    print OUTPUT $entry;
}
close (INPUT);
close (OUTPUT);
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2007-10-17 15:36
#100979 #100979
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du mehr über Reguläre Ausdrücke wissen willst: perlreref
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Teesemmel
 2007-10-17 15:50
#100980 #100980
User since
2007-10-16
7 Artikel
BenutzerIn
[default_avatar]
super, eure antworten haben mir echt n ganzes stück weitergeholfen, v.a. da die lösung im prinzip doch sehr simpel war ;-)
dankeschön
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2007-10-17 13:11.