LINUX.ORG.RU
решено ФорумAdmin

сделать бекап скрытых файлов

 ,


0

1

Задача: Сделать трабол всех файлов и каталогов, имена которых начинаются с "." кроме каталога .Mail find . -maxdepth 1 -name ".*" | grep -v Mail выдает то что нужно, но если скормить вывод архиватору то он жмет весь раздел (.)

★★

Задача: Сделать трабол всех файлов и каталогов, имена которых начинаются с «.» кроме каталога .Mail find . -maxdepth 1 -name «.*» | grep -v Mail выдает то что нужно, но если скормить вывод архиватору то он жмет весь раздел (.)

1. grep тут не нужен

2. ты же файлы хочешь жать? вот и фильтруй файлы -type f, проблема в том, что find жмёт и каталоги

3. можноиспользовать xargs:

find … -exec tar -cvvf arc.tar {} +

drBatty ★★
()

то он жмет весь раздел (.)

потому что . попадает под шаблон .*

find . -maxdepth 1 -name '.*' | grep -Ev '\.Mail|\.|\.\.'
tar cf backup.tar .[^.]*
anonymous
()
Ответ на: комментарий от anonymous

Твой вариант исправлен (добавлено ^ и $)

find . -maxdepth 1 -name '.*' | grep -Ev '\.Mail|^\.$|^\.\.$'

anonymous
()
Ответ на: комментарий от anonymous

Виноват, спасибо за замечание.

tar cjf tarball.tar.bz2 --exclude=.Mail .??* .[^.]

schizoid ★★★
()

find . -maxdepth 1 -name '.*' ! -name '.'

teod0r ★★★★★
()
Ответ на: комментарий от blokant

Не заархивирует файлы виде <точка><один символ>, типа ".1", ".a" (хотя я таких даже не встречал никогда). Но ниже я фикс привёл.

schizoid ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.