Thread HTML2TEXT cat und sed in perl (8 answers)
Opened by kezall at 2014-04-18 10:15

Raubtier
 2014-04-18 21:59
#174862 #174862
User since
2012-05-04
1054 Artikel
BenutzerIn

user image
2014-04-18T12:58:05 kezall
Code: (dl )
system ( "cat -s $outTxt | sed -e /Familie/,$d -e /^$/ >> /home/miro/tmp/newTxt.txt" );


In Doppelquotes werden Variablen (von Perl) ersetzt! In deinem Fall sind das:
* $outText
* $d
* $/ (der Input Record Separator, also wahrscheinlich ein Zeilenumbruch)

Am besten machst du zum Debuggen:
Code: (dl )
1
2
3
$kommando = "cat -s $outTxt | sed -e /Familie/,$d -e /^$/ >> /home/miro/tmp/newTxt.txt";
print "Es wird ausgeführt:\n$kommando\n";
# system($kommando);


Wenn system mit einem Parameter aufgerufen wird, macht danach noch die Shell eine Ersetzung der Variablen. D.h. für die Shell muss das sed-Kommando ebenfalls gequotet werden.

Allerdings würde ich gerade bei cat und sed das ganze einfach mit Perl-Bordmitteln lösen.

View full thread HTML2TEXT cat und sed in perl