Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : C | Ausgabe von tar erste Zeile extrahieren



Sector1379
23-12-2005, 11:51
Hallo zusammen

Ich stehe mal wieder vor einem kleinem Problem. Ich will aus einer Ausgabe von tar die erste Zeile also das Vereichniss extrahieren und dann weiter verarbeiten.

BSP:


tar xjvf conary-0.80.2.tar.bz2
conary-0.80.2/ <- Diese Zeile
conary-0.80.2/conary/
conary-0.80.2/conary/build/
conary-0.80.2/conary/build/buildinfo.py
conary-0.80.2/conary/build/Makefile
conary-0.80.2/conary/build/cook.py
conary-0.80.2/conary/build/filter.py
conary-0.80.2/conary/build/fixedglob.py
conary-0.80.2/conary/build/recipe.py
conary-0.80.2/conary/build/packagerecipe.py


Wisst ihr wie man das machen könnte in C? Also den tar Befehl rufe ich per system() auf.
Und wie man unschwer erkennen kann Programmiere ich das unter Linux.

Joghurt
23-12-2005, 13:15
Wenn du das Archiv nicht auspacken willst:
tar tjf Archiv | head -n1Wenn du es auch entpacken willst:
tar xvjf Archiv | sed -n '1p'Nicht jedes tar packt übrigens die Verzeichnisnamen an den Anfang

Sector1379
23-12-2005, 13:26
Nicht jedes tar packt übrigens die Verzeichnisnamen an den Anfang

Alles klar ich danke dir, ich denke ich mache ein umlenkung der ausgabe in eine Datei die ich dann analysieren werde. Dann kann man auch immer sicher sein das man den richtigen verzeichniss namen hat.

War mal so eine überlegung.

panzi
26-12-2005, 22:22
Verwende doch popen() (http://unixhelp.ed.ac.uk/CGI/man-cgi?popen). Damit kanns't du die Ausgabe des aufgerufenen Befehles wie eine FILE in C ausleßen.