Thread Syntax für Systemaufruf an array übergeben
(1 answers)
Opened by DerJentz at 2016-07-21 07:25
Hallo und willkommen.
zunächst, grep kann selber lesen ;-) Das cat braucht es nicht. Code: (dl
)
grep ime'[0-9]\{3\}' /var/etc/hosts Ich vermute, dass Dein Problem in der Maskierung der Sonderzeichen liegt. edit: Hab es getestet; die \ müssen zusätzlich maskiert werden: Code: (dl
)
1 # qx// ist lesbarer als die Backticks :edit Aber wenn Du das Ergebnis in Perl haben willst, was spricht dagegen, die Suche selbst auch in Perl zu machen? Damit bräuchtest Du Dir auch keine Gedanken machen, welches Sonderzeichen Du wie oft maskieren musst (Maskierung vor Perl? vor der Shell? ...). Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #! /usr/bin/perl use strict; use warnings; use 5.010; my $file = "/etc/hosts"; open my $rh, '<', $file or die "open($file,ro) failed: $!"; my @array = grep { m/ime\d\d\d/ } <$rh>; close $rh; # optionally, remove Newlines from matches chomp @array; # check result say join "\n", @array; Last edited: 2016-07-21 11:00:08 +0200 (CEST) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |