Страницы

Поиск по вопросам

четверг, 30 мая 2019 г.

Архивировать только «скрытые» файлы

tar -cvzf archive.tar.gz .*
Шаблон .* не работает
Как архивировать только файлы/каталоги, имена которых начинаются с точки?


Ответ

например так:
$ find -maxdepth 1 -regex './\..*' | tar -cvzf archive.tar.gz -T -
если не устраивает префикс ./ перед именами файлов/каталогов, то чуть длиннее:
$ find -maxdepth 1 -regex './\..*' -printf '%P
' | tar -cvzf archive.tar.gz -T -

можно и без -regex
$ find -maxdepth 1 -mindepth 1 -name .\* | tar -cvzf archive.tar.gz -T - $ find -maxdepth 1 -mindepth 1 -name .\* -printf '%P
' | tar -cvzf archive.tar.gz -T -

а можно и без find
$ tar -cvzf archive.tar.gz .??*
но под маску не подпадут файлы/каталоги с именем, состоящим из двух символов. типа .1. тогда так:
$ tar -cvzf archive.tar.gz .[^.]*

Комментариев нет:

Отправить комментарий