• [^] # Re: Options de rsync

    Posté par (site web personnel) . En réponse au message Soustraire une liste de fichier à une autre liste. Évalué à 3.

    Y'a plein de sed pour faire en sorte que ça marche

    Y'en a trop! Deux remarques. 1. Utilise toujours le même caractère pour délimiter les patterns, ça t'évite de faire des échappements et c'est plus facile à relire. LEs caractères habituels sont /@+%= ici tu peux utiliser % qui n'apparaît pas dans tes paterns.

    j'ai aussi découvert un bug, si y'a des crochets dans le nom du fichier, alors la règle d'exclusion est ignoré

    Le bug est dans ta façon de lire la page de man. Je te sors quelques paragraphes qui vont t'intéresser (il faut que tu lises toutes la section FILTER RULES et les suivantes sur INCLUDE, EXCLUDE).

     For instance, this
     won't work:
     + /some/path/this-file-will-not-be-found
     + /file-is-included
     - *
     This fails because the parent directory "some" is excluded by the '*'
     rule, so rsync never visits any of the files in the "some" or
     "some/path" directories.
    
    

    pour le fameux bug:

     o rsync chooses between doing a simple string match and wildcard
     matching by checking if the pattern contains one of these three
     wildcard characters: '*', '?', and '[' .
    
    

    et

     o in a wildcard pattern, a backslash can be used to escape a wild-
     card character, but it is matched literally when no wildcards
     are present.
    
    

    En relisant ces deux sections de rsync(1) tu devrais t'en sortir plus proprement.