, включают = » «В rsync скопируйте все скрытые файлы во всех подкататорах?

С sed:

sed 's/^Question Nr\..*/\\item/; s/^\([A-Z] .*\)/\n\1/' file
  • Первый s/// заменяет Question Nr. на \item аналогично команде sed в вашем вопросе.
  • Второй заменяет строки, начинающиеся с заглавной буквы от A до Z, но только ту, за которой следует пробел. Вся эта строка заменяется на себя \1, после чего следует новая строка \n.

Выход:

\item
Main proteins are in the lorem ipsun

A Lorem

B Cells

C Metoclom

D Cells

E Muscles

\item
Main proteins are in the lorem ipsun

A Lorem

B Cells

C Metoclom

D Cells

E Muscles
6
10.07.2018, 14:45
2 ответа

Все файлы включены по умолчанию, поэтому, если вы хотите включить все файлы, не передавайте никакие опции --includeили --exclude.

Если вы используете шаблоны, rsync не обрабатывает файлы точек особым образом. Если вы хотите пропустить точечные файлы, вам придется явно использовать --exclude='.*'.

Обратите внимание, что --include='.*'включает только точечные файлы. Это шаблон оболочки, где .означает саму себя, а *означает «любая последовательность символов», а не регулярное выражение, где .означает «любой символ», а *означает «любое количество предшествующих символов или группа". Без какой-либо директивы exclude вы по-прежнему получаете все файлы, поэтому директива include просто бессмысленна, но если бы у вас были некоторые директивы exclude, --include='.*'не означало бы «включить все файлы, включая файлы с точками», это означало бы только «включить файлы с точками». ” (и сам по себе он не будет рекурсивно обращаться к каталогам, имя которых не начинается с точки ).

8
27.01.2020, 20:28

Без указания каких-либо шаблонов включения или исключения, rsyncбудет копировать скрытые файлы и каталоги.

rsync --stats --progress -av user@vm:/mnt/storage8/backups ~/data/backup_of_backups/
4
27.01.2020, 20:28

Теги

Похожие вопросы