Tengo algunos directorios con un número variable de archivos y subdirectorios. Todos los archivos que no tienen extensiones tienen que ser tar
editados. Sus nombres pueden cambiar, por lo tanto no pueden ser codificados. Los subdirectorios también pueden contener un número no especificado de archivos y subdirectorios que no son relevantes y no deben incluirse en el archivo.
Me gustaría poder hacer esto con una sola línea, sin usar ningún .sh
script, para que este proceso se pueda reproducir de la manera más portátil posible.
Estructura de directorio de muestra:
$ ls -1F
bar-dir/
bar.with.dots
foo-directory/
foo-no-ext
quux.dir/
quux.ext
El resultado tar
debe contener solo foo-no-ext
en este caso.
Lo más cerca que he llegado hasta aquí es
tar -cf archive.tar --exclude=*.* --no-recursion *
Pero, cuando se ejecuta en el conjunto de muestra, el archive.tar
todavía incluye los subdirectorios (aunque estén vacíos):
$ tar -tf archive.tar
bar-dir/
foo-directory/
foo-no-ext
bash
operl
es exactamente igual en todos los sistemas, aunquetar
puede ser GNU, BSD, Solaris tar ...