Tengo algunos directorios con un número variable de archivos y subdirectorios. Todos los archivos que no tienen extensiones tienen que ser tareditados. 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 .shscript, 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 tardebe contener solo foo-no-exten 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.tartodavía incluye los subdirectorios (aunque estén vacíos):
$ tar -tf archive.tar
bar-dir/
foo-directory/
foo-no-ext
bashoperles exactamente igual en todos los sistemas, aunquetarpuede ser GNU, BSD, Solaris tar ...