Ich möchte a.txt
von a.tar.gz
im Verzeichnis produzieren. Ich habe versucht, das folgende Ziel in Makefile zu schreiben:makefile Ziel, das nur einmal ausgeführt werden muss
a.txt: a.tar.gz
tar xvf a.tar.gz
Dies funktioniert, aber nachdem es einmal läuft a.tar.gz
unkomprimiert und nicht mehr existiert. Und nachfolgende make
schlägt fehl. Wie kann ich ein Ziel schreiben, das überprüft, ob a.txt
nicht existiert, und wenn ja, führen Sie tar
, aber sonst nichts tun?
'tar' löscht normalerweise weder die TAR-Datei, noch erstellt sie eine dekomprimierte Version. Gibt es keine andere Option oder einen anderen Befehl, den Sie ausführen? – rici
Auch ohne das 'z'-Flag kann' tar' die Datei nicht korrekt entpacken (es sei denn, die Dateinamenerweiterung ist falsch, und es ist nicht wirklich eine '.gz' Datei). – tripleee
@tripleee: gnu tar kann Komprimierungsformate automatisch erkennen, sodass die z (und andere) Flags normalerweise nicht benötigt werden. – rici