2 Stimmen

Überprüfen Sie, ob die Datei in der Tar-Datei mit dem Tar- und Grep-Befehl vorhanden ist.

Ich habe ein Skript, das prüft, ob eine Datei in einer Tar-Datei existiert, aber irgendetwas stimmt nicht, weil es immer zum 'else'-Teil des Skripts geht. Ich bin mir ziemlich sicher, dass es nicht so sein sollte.

Das Datum ist im Format "Mon dd" (Jan 11).

echo "Geben Sie ein Datum ein: \c"
read date
tarfile=`tar -tvf tarfile.tar | grep some_file | grep "$date"`

if [ -f "$tarfile" ]; then
   echo "ja"
else
   echo "nein"
fi

Danke.

10voto

Litmus Punkte 9744

Weil some_file sich im tarfile.tar Archiv befindet, dein if jedoch überprüft ob es im Dateisystem existiert.

Du kannst es wie folgt ändern

if tar –tf tarfile.tar some_file >/dev/null 2>&1; then
    echo "tarfile.tar enthält some_file"
fi

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X