Hallo Frank,

Friday, February 22, 2002, 6:26:09 PM, you wrote:

>>     diff -u <(cat ref_ip | sort -n) <(cat scan_ip | sort -n) | \
>>     grep -w "^+.[^+].*" | sed -e 's,+,,' > diff_ip
>> 
FK> also das sieht elitaer und einfach gut aus, das traue ich mich gar nicht
FK> auf meine einfachen files loszulassen ;-)

-- da ist doch nix dabei:
   1. "cat {ref_ip|scan_ip} | sort -n" oeffnet jeweils die datei und
      sortiert sie nach Zahlen.
   2. Diese werden an "diff -u" gegeben (sortierte ref_ip ist dabei
      from-datei und sortierte scan_ip, die to-datei), damit man sieht
      was an ref_ip hinzugefuegt werden muss, um scan_ip zu erhalten.
   3. Diese Ausgabe wird an grep weitergegebnden, das nach dem regexp:
      ^+.[^+].* sucht, das in Worten folgendes abdeckt: Jeden String
      der mit einem pluszeichen anf�ngt, an dem aber kein weiteres
      pluszeichen folgt.
   4. Also werden nun alle ip-adressen, die man benoetigt, um ref_ip
      an scan_ip anzupassen (denn erst nach dem grep, wird der ganze
      uninteressante rest von diff weggeschnitten), aber es gibt jetzt
      eben noch das problem, dass vor jeder ip ein pluszeichen steht,
      um das zu stutzen reicht folgender sed-liner: sed -e 's,+,,'
   5. Es wird schie�lich in die Datei `diff_ip' geleitet.

Kein Problem, oder? ;-)
  --   Tobias

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an