http://www.pronix.de -> Forum -> Linux-Unix Programmierung

Forum: Linux-Unix Programmierung

Moderatoren: juergen, Martin Conrad

Thema: [EDIT] - In Datei suchen

  • (nur registrierte Mitglieder)

[EDIT] - Re: In Datei suchen

Generic1 am 24.09.2010 um 11:57

So ganz klappts doch noch nicht,
wenn ich folgendes habe:


myAddress1 name1_3.4.88_test.txt
myAddress1 name1_4.8.7.6_test.txt
myAddress1 name1_2.3.3.4_test.txt
myAddress1 name1_7.3.4_test.txt


dann bekomme ich mit

grep -i myAddress1 ${FILENAME} | awk '/[0-9]/{if($2>a)a=$2}END{print a}

den ersten Eintrag raus, also:

name1_3.4.88_test.txt

ich möchte aber name1_7.3.4_test.txt rausbekommen, da dieser Name von "myAddress1" die höchste Versionsnummer hat (7.3.4).
_test.txt ist immer gleich!!

Könntet ihr mir in diese Richtung noch mal helfen?
Vielen Dank,
lg
Generic1
 

[EDIT] - Re: In Datei suchen

Patrick am 24.09.2010 um 14:26

grep -i 'myAddress1' DATEI | awk '/[0-9]/{if($2>a)a=$2}END{print a}'

Ergibt bei mir über die Konsole das gewünschte Ergebnis.
Vieleicht stolpert dein Shell-Skript über die Dollar-Zeichen?

@Philip
Zitat:
Da fällt mir gerade ein gutes Rätsel für die Knobelecke ein...

Erst klebrig machen und dann liegen lassen? Ich warte auf dein Rätsel! Grafik: Smilie Zwinker

--
To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.

 

Re: In Datei suchen

broesel (webmaster) am 27.09.2010 um 10:54

Hi Patrick,

Zitat:

@Philip
Zitat:
Da fällt mir gerade ein gutes Rätsel für die Knobelecke ein...

Erst klebrig machen und dann liegen lassen? Ich warte auf dein Rätsel! Grafik: Smilie Zwinker


Siehe Knobelecke . Hat ein bißchen länger gedauert, weil ich zuerst fragen wollte, wie sich eine entsprechende Sortierung in linearer Zeit durchführen lässt. Aber ich glaube, das ist als Rätsel für die Knobelecke zu schwer.

Gruss,
Philip

--
The C Programming Quiz (externer link) - bitte Fragen einreichen :)

 

Re: In Datei suchen

Generic1 am 27.09.2010 um 15:59

Hallo,

ich hab auch gerade das Problem festgestellt.
Wenn ich jetzt folgenden Datei habe:

myAddress1 name1_8.9.9_test.txt
myAddress1 name4_10.9.9_test.txt

und auf diese Datei folgenden Befehl absetze:


MYNAME=`grep -i myAddress1 ${FILENAME} | awk -F_ '{if($2>a){a=$2;b=$1}} END{split(b,s," ");print s[2]}'`


dann bekomm ich leider "name1" anstatt "name4" zurück. Wenn die Versionsnummern unter 10 sind, dann funktioniert das Ganze einwandfrei.

Weiß jemand wie ich das lösen kann im Shell- Command damit ich "name4" anstatt "name1" zurückbekomme?

Vielen Dank,
lg
 
  • (nur registrierte Mitglieder)