1 votos

Error al hacer el servicio automator para archivar ficheros con tar

Escribí un servicio de automator para crear archivos tar usando el comando tar ya que este formato es más eficaz que el comando .zip que me da la opción "Comprimir" del menú del finder. Sin embargo al ejecutar el servicio solo me da este error, independientemente del tipo de archivo utilizado: tar: file.txt: Cannot stat: Bad file descriptor Esta es la fuente del servicio: Automator script (Utilizando una versión ligeramente modificada de https://stackoverflow.com/questions/35138806/automator-action-shell-script-to-tar-multiple-files-folders-containing-spaces )

1voto

bogdanw Puntos 21

Versión adaptada de tu script que funciona en Monterey (bash), pero sólo para archivos, no carpetas.

files=()
path=''
file=''
for f in "$@"
do
    path=$(dirname "$f")
    file=$(basename "$f")
    files+=(-C "$path" "$file")
done
cd $path
archivename=$(basename ${file[l]})
tar -cf $archivename.tar "${files[@]}"

Versión adaptada de este script https://superuser.com/a/680400 que funciona en Monterey (zsh) para archivos y carpetas

n=$1
[[ -e $n.tgz ]] && { i=2; n="$1-$i"; }
while [[ -e $n.tgz ]]; do n="${n%-*}-$((i++))"; done
d=${1%/*}
cd -- "$d"
file_name=$(basename $n)
COPYFILE_DISABLE= tar -czf $file_name.tgz -- "${@#"$d/"}"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X