Provavelmente posso escrever um script de shell para encontrar apenas arquivos e passar a lista para tar, mas estou me perguntando se já existe um recurso interno no tar que permita fazer exatamente isso, em uma única linha de comando?
Por exemplo, encontrei a --no-recursion
opção, mas quando o faço:
tar --no-recursion -cvf mydir.tar mydir
Ele apenas arquiva os nomes das entradas no diretório (incluindo subdiretórios!), Mas não arquiva nenhum arquivo.
Eu também tentei:
tar --no-recursion -cvf mydir.tar mydir/*
Mas, embora arquive apenas arquivos, também arquiva os nomes dos subdiretórios.
Existe uma maneira de dizer apenas arquivos tar, sem diretórios?
find mydir -type f |xargs cp -t tempdir
e, em seguida, tar tempdir.
find mydir -depth 1 -type f | xargs tar cf mydir.tar
find mydir -maxdepth 1 -type f -exec tar cvf mydir.tar {} +
. Os +
puts todos os arquivos na mesma linha de comando como xargs.