Как rsync только для каталогов, которые связаны символическими ссылками с определенным именем

Вы не хотите анализировать вывод ls . Если вам нужен список всех файлов .gz в папке и что-то делать с каждым результатом, лучше использовать bash или zsh , а ваш find поддерживает предикаты -iname и -print0 (как в GNU, Solaris 11 или некоторых системах BSD):

while IFS= read -r -d $'\0' file; do
    echo "found a .gz: $file"
done < <(find . -type f -iname "*.gz" -print0)
0
22.02.2018, 19:57
1 ответ

He aprendido que tal coincidencia de patrones no es trivial. Todos los directorios dentro de la ruta desde la raíz hasta LATESTdeben incluirse entre los patrones de inclusión (ya sea con --include=*/ --include=*/dir_1/o--filter='+ /' --filter='+ /dir_1/'). Del mismo modo, todo lo demás debe excluirse con --exclude=*o--filter='- /unwanted_dir/*).

Mi secuencia de comandos aún analiza la salida --list-onlypara encontrar dónde está vinculado LATEST. Luego, incluyo solo rutas que llegan a LATEST.

Considero experimentar con los argumentos de la línea de comando de rsync para poder obtener ÚLTIMO como un enlace simbólico y donde sea que apunte.

1
28.01.2020, 04:30

Теги

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