Objectif du filtrage
Le filtrage est conçu pour vous aider à explorer, analyser et comprendre le contenu des sources de données comparées.
Il vous permet de vous concentrer sur les fichiers et les répertoires qui correspondent à des critères spécifiques, ce qui facilite les opérations suivantes :
- Inspecter les différences entre les sources de données
- Identifier les fichiers manquants, obsolètes ou inattendus
- Détecter les anomalies dans les grands ensembles de fichiers
- Affiner les résultats lorsque vous travaillez avec de grands volumes de données
Au lieu de parcourir les résultats de comparaison bruts, les filtres vous permettent d’exprimer ce que vous recherchez à l’aide de conditions claires et précises.
Syntaxe de filtrage
Les filtres sont des expressions logiques telles que :
is:file AND name=="report*" AND A1.size>1MB AND NOT on:B1
# filters out files whose name starts with "report", whose size is greater than 1MB and which are not located on the B1 Data Source.Chaque filtre est évalué pour chaque fichier ou dossier, sur la base de ses métadonnées et de sa présence dans les différentes sources de données.
Recherche de texte simple
Il vous suffit de taper du texte en clair pour rechercher des noms de fichiers et de dossiers :
report 2025
# Find all files and folders whose name contains both "report" and "2025".Opérateurs universels
Les opérateurs universels s’appliquent directement aux fichiers et aux dossiers sans qu’il soit nécessaire de spécifier une source de données particulière.
| Opérateur | Exemple | Description |
|---|---|---|
name | name=="file1.txt" | Correspondance exacte ou par motif sur le nom du fichier |
on | on:A1 | Vérifie si le fichier existe dans la source de données A1 |
only | only:A1 | Vrai si le fichier n’existe que dans A1 |
is | is:file | Type de fichier : file, dir, ou directory |
has:actions | has:actions.copy>0 | Action de synchronisation : copy, delete, etc. |
Opérateurs spécifiques à la source de données
Ces opérateurs comparent des propriétés spécifiques des sources de données, généralement pour détecter des différences.
| Opérateur | Exemple | Description |
|---|---|---|
content | A1.content==A2.content | Comparaison du contenu binaire |
content-and-date | A1.content-and-date==A2.content-and-date | Comparaison du contenu et de la date de dernière écriture |
last-write-time | A1.last-write-time > A2.last-write-time | Comparaison des dates de dernière modification |
size | A1.size != A2.size | Comparaison de la taille des fichiers |
Opérateurs logiques
Utilisez les opérateurs logiques pour combiner ou annuler des conditions :
- ET :
name:"*.log" AND A1.size>1MB - OU :
is:file OR is:directory - PAS:
NOT name=="temp*" - Parenthèses ( … ):
not (A1.size<10KB or name:"temp*")
Opérateurs de comparaison
| Opérateur | Signification | Exemple |
|---|---|---|
== ou = | Équivalents | A1.size == 1024 |
!= ou <> | Pas égal à | A1.size != 0 |
<, >, <=, >= | Comparaisons | lastwritetime >= 2025-01-01 |
=~ | Correspond à une expression rationnelle | name =~ "^report.*\.pdf$" |
Sources de données et identificateurs d’inventaire
ByteSync compare plusieurs sources d’inventaire, appelées sources de données, identifiées par des codes courts :
| Identifiant | Rôle |
|---|---|
A | Inventaire principal du nœud A |
A1, A2 | Sources de fichiers individuels sous le nœud A |
Filtrer par nom
Vous pouvez filtrer les fichiers en fonction de leur nom à l’aide de l’option nom pour filtrer les fichiers en fonction de leur nom. Cela permet d’inclure ou d’exclure des fichiers en fonction d’un nom exact, d’un motif ou d’une expression régulière.
Comparaisons de base
Utilisez : ou == pour rechercher les fichiers et dossiers dont le nom est égal à la valeur spécifiée.
name:README.md
name=="file1.txt"
Utilisez != pour faire correspondre les fichiers et les dossiers dont le nom est différent de la valeur spécifiée.
name!="temp.log"Caractères génériques
Vous pouvez utiliser des caractères génériques (*) pour faire correspondre n’importe quelle séquence de caractères.
name:file1*
name==*.logExpressions régulières
Utiliser =~ pour faire correspondre un motif d’expression régulière :
name=~"^log_.*\\.txt$"
# This matches any .txt file whose name starts with log_.Les actions de synchronisation peuvent être filtrées avec l’opérateur has:actions.
Sources des actions
| Mot-clé | Description |
|---|---|
targeted | Faire correspondre les actions ciblées |
rules | Actions de correspondance résultant des règles de synchronisation |
Types d’actions
| Mot-clé | Description |
|---|---|
copy | Le contenu et les dates du fichier seront synchronisés |
copy-content | Le contenu du fichier sera synchronisé |
copy-dates | Les dates seront synchronisées |
create | Le répertoire sera créé |
delete | Le fichier/répertoire sera supprimé |
do-nothing | Si l’option Ne rien faire est activée, rien ne sera fait sur le fichier/répertoire. |
La source de l’action et le type d’action peuvent être omis, mais si les deux sont utilisés, la source de l’action doit être spécifiée avant le type d’action.
Exemples
Fichiers qui seront synchronisés (contenu et date) :
has:actions.copyFichiers qui seront supprimés en raison d’une règle de synchronisation :
has:actions.rules.deleteFichiers qui ne seront pas touchés :
has:actions.do-nothingFichiers de plus de 10 Mo sur A1 :
A1.size > 10485760Fichiers modifiés depuis 2024 sur B :
B.last-write-time >= 2024-01-01Fichiers .log qui seront synchronisés :
name == "*.log" AND actions.copyRépertoires uniquement :
is:directory
# can also be filtered out with is:dirFichiers présents uniquement dans l’inventaire A :
only:AFichiers présents à la fois dans A1 et B1 :
on:A1 AND on:B1Fichiers présents dans A1 ou A2 et B1 :
(on:A1 OR on:A2) AND on:B1Cette syntaxe vous permet de contrôler précisément quels fichiers sont inclus ou exclus de vos opérations de synchronisation.
