У меня есть несколько каталогов с различным количеством файлов и подкаталогов. Все файлы, которые не имеют расширений, должны быть tar
. Их имена могут измениться, поэтому они не могут быть жестко закодированы. Подкаталоги могут также содержать неопределенное количество файлов и подкаталогов, которые не являются релевантными и не должны включаться в архив.
Я хотел бы иметь возможность сделать это одной строкой, без использования каких-либо сценариев .sh
, чтобы этот процесс можно было воспроизвести как можно более мобильно.
Пример структуры каталогов:
$ ls -1F
bar-dir/
bar.with.dots
foo-directory/
foo-no-ext
quux.dir/
quux.ext
В этом случае tar
должен содержать только foo-no-ext
.
Самое близкое, что я придумал, это далеко
tar -cf archive.tar --exclude=*.* --no-recursion *
Но при выполнении в семпле выборки archive.tar
прежнему включает в себя подкаталоги (хотя и пустые):
$ tar -tf archive.tar
bar-dir/
foo-directory/
foo-no-ext