awk/perl gemischt - ich bekomms nicht hin.

StepByStep

New Member
Hallo liebes Forum,

nun bastel ich eine ganze Weile mit awk und perl rum, und verstehe nicht wie ich einzelne extrahierte Variablen über eine Perl-Verarbeitung in eine Zeile schreibe.

Also folgendes:

Ich habe die Zeile:
1040465920-1040474111
Das ist ein IP-Adressenrange in Integer notiert.

Wenn ich nun z.B. die: 1040465920
mit einem
echo 1040465920 | perl -ne 'print $_>>24 ,".",$_<<8>>24,".",$_<<16>>24,".",$_<<24>>24'
behandele, löst er mir die IP in für uns gewohnte Schreibweise auf.
("62.4.64.0")

Soweit so gut, nun habe ich aber eine Liste mit jeweils zwei unbehandelten IntegerIPs getrennt durch ein "-".

Gesagt getan. Ich habe also zunächst ein:
cat liste.ip | awk -F "-" '{print $1," Testtrenner ",$2 }'
gemacht, um zu sehen, ob ich an die erste und die zweite IntegerIP komme.

So, nun besteht das Problem, welches ich nicht gelöst bekomme darin, daß ich anscheinend trotz etlicher Versuche nicht in der Lage bin die Perlzeile in den AWK Befehl mit zu übernehmen.

In meiner Windosenlogik müßte das ungefähr so aussehen, aber ich glaube ich mache da einen entscheidenden Fehler mit den IN und OUTPUTS, müßte ich ja quasi parallel und nicht in Reihe abarbeiten.

Ansatz:
cat liste.ip | awk -F "-" `{print $1 | perl -ne 'print "IPONE:",$_>>24 ,".",$_<<8>>24,".",$_<<16>>24,".",$_<<24>>24'," Neuer Trenner ",$2
| perl -ne 'print "IPTWO:",$_>>24 ,".",$_<<8>>24,".",$_<<16>>24,".",$_<<24>>24' }`

Vielleicht könnte mir jemand mal nen bissel auf die Sprünge helfen....

Lieber Gruß
StepByStep
 
Frei nach dem Motto "was awk kann, kann Perl besser" schmeiß ich awk mal raus:
Code:
echo 1040465920-1040474111 | \
perl -ne '[COLOR="SeaGreen"]foreach(split(/-/)) {[/COLOR] \
print $_>>24 ,".",$_<<8>>24,".",$_<<16>>24,".",$_<<24>>24 \
[COLOR="SeaGreen"]}[/COLOR]'
 
Back
Top