Thema: Entpacken von typischen Windows-Archiven in der Shell
[ `tar tfz ${1} | head -n 1 | grep '/'` ] && create_dir=1 || create_dir=0
[ ${create_dir} = 1 ] && DIR=`tar tfz ${1} | head -n 1 | cut -d "/" -f1`
Das Problem ist, man müßte überprüfen, ob $DIR wirklich vor _jeder_ Datei im Archiv steht. Da weiß ich nicht, wie ich das machen könnte.
for X in `tar tvfz ${1}`; do [ `echo ${X} | cut -d "/" -f1` = ${DIR} ] || exit 1done
Ginge das ? Halt entsprechend anders für andere Packer.
Sollte create_dir Null sein, so käme eine Frage ob ein gleichnahmiges Unterverzeichnis erstellt werden soll.Das wäre am elegantesten ?!
[ `tar tfz ${1} | head -n 1 | grep '/'` ] && create_dir=1 || create_dir=0
[ ${create_dir} = 1 ] && DIR=`tar tfz ${1} | head -n 1 | cut -d "/" -f1`
Das Problem ist, man müßte überprüfen, ob $DIR wirklich vor _jeder_ Datei im Archiv steht. Da weiß ich nicht, wie ich das machen könnte.
for X in `tar tvfz ${1}`; do
[ `echo ${X} | cut -d "/" -f1` = ${DIR} ] || exit 1
done
Ginge das ? Halt entsprechend anders für andere Packer.
Sollte create_dir Null sein, so käme eine Frage ob ein gleichnahmiges Unterverzeichnis erstellt werden soll.
Das wäre am elegantesten ?!