Outil de comparaison CLI macOSWindows

Exécutez des comparaisons locales exactes à partir de la ligne de commande

Utilisez Diff Anything à partir du CLI avec des modes explicites, une sortie de terminal ou de machine, l’intégration du difftool Git, des codes de sortie de différence et des rapports par lots Pro.

Réponse directe

Quelles fonctionnalités de ligne de commande le Diff Anything prend-il en charge ?

Sous Windows, Diff Anything utilise l’exécutable de l’app avec --cli et deux chemins sources, ou les arguments transmis par Git à un pilote de diff. Les comparaisons individuelles acceptent les types auto, text, json, yaml, toml, ini, plist, xml, csv, env, http, api, notebook, sqlite, folder, archive, document et binary. La ligne de commande gratuite compare le texte, le JSON et les notebooks ; les autres types nécessitent Pro. Elle prend aussi en charge les règles d’exclusion du texte, les sorties summary, terminal ou JSON, les options de couleur, de langue et de contexte, et un code de sortie facultatif pour les différences. --fail-on breaking compte uniquement les changements de schéma d’API incompatibles ou non classés. Avec Pro, les manifestes de lot acceptent une entrée YAML ou JSON, un réglage failOn par cas et une sortie summary, JSON, JUnit ou SARIF. Pro ajoute aussi les rapports, --apply-patch, le pilote de fusion Git et l’outil de fusion.

Écran d’accueil Diff Anything avec sources de comparaison locales privées
Commencez par des fichiers, des dossiers ou du contenu collé ; la comparaison reste sur l’appareil. Afficher en taille réelle

Comparaisons simples

Chaque option de comparaison unique, sans indicateurs implicites.

Utilisez --mode auto|text|json|yaml|toml|ini|plist|xml|csv|env|http|api|notebook|sqlite|folder|archive|document|binary et --format summary|terminal|json. Un terminal utilise par défaut la sortie du terminal ; La sortie standard redirigée est par défaut le résumé.

Utilisez --color auto|always|never, --language LANGUAGE et --context LINES. --language auto rétablit la détection automatique de la langue. Le contexte doit être positif ou nul ; sa valeur par défaut est de trois lignes.

Les comparaisons de texte et de documents prennent --ignore-text et --ignore-lines avec une expression régulière, --ignore-preset pour les modèles d’horodatage et d’identification intégrés, --ignore-comments, --ignore-columns et --align LEFT :RIGHT. --encoding, --left-encoding et --right-encoding lisent les fichiers dans un encodage choisi.

  • --exit-code : 0 propre, 1 différent, 2 entrées non valides ou échec de comparaison
  • --fail-on breaking : avec --mode api, 1 uniquement pour le break ou les modifications de schéma API non classifiées
  • Sans --exit-code ou --fail-on, une comparaison unique modifiée valide quitte 0
  • Utiliser -- avant les chemins lorsqu’un nom de fichier commence par un tiret
  • --help, --version et --integration-help sont disponibles

Disposition PDF

La comparaison directe de la disposition PDF est celle du bureau ; les images rendues le rendent automatisable.

Le mode document CLI compare le contenu du document extrait. La différence visuelle PDF de la page rendue et son pourcentage de correspondance par page font partie de l’espace de travail du document de bureau, et non du résultat direct du document CLI.

Pour vérifier automatiquement la mise en page d’un PDF, convertissez les pages de référence et les pages à vérifier en images de mêmes dimensions. Comparez chaque paire avec Pro via --mode binary --format json, puis examinez la similarité et le nombre de pixels modifiés. Un seuil de similarité évalue uniquement le rendu choisi. Il ne prouve pas que le texte, le balisage, l’accessibilité ou le comportement à l’impression sont identiques.

  • Bureau PDF : choisissez Différence visuelle pour les pages rendues
  • Libellé CLI : --mode le document compare le contenu extrait
  • Boucle de mise en page CLI : restituez d’abord les pages, puis comparez chaque paire d’images en mode binaire Pro

Lot et CI

Le comportement du lot est explicite et concerne uniquement Pro.

Un manifeste de lot peut être YAML ou JSON. Sa racine peut être un objet avec un tableau de comparaisons ou un tableau de niveau supérieur. Chaque élément accepte le nom, gauche, droite, un mode pris en charge facultatif et failOn : any (valeur par défaut) ou rupture pour les cas de schéma API.

Les formats de sortie par lots sont résumés, JSON, JUnit et SARIF, écrits sur stdout ou, avec --output FILE, dans un fichier UTF-8. Batch renvoie 0 lorsque chaque cas réussit sa vérification failOn, 1 lorsqu’un cas échoue ou n’a pas pu être comparé, et 2 lorsque l’invocation ou le chargement du manifeste échoue.

  • JUnit enregistre les cas d’échec comme des échecs de test et répertorie les résultats API avec leurs codes de règle
  • SARIF 2.1.0 signale chaque résultat API comme son propre résultat : les modifications rompues sous leur code de règle sont des erreurs.
  • Les profils de bureau et leurs règles sémantiques ne sont pas des options de manifeste par lots

Gratuit et Pro

Les aperçus du bureau et les modes CLI ont des limites libres différentes.

L’utilisation de la version gratuite de l’app permet de prévisualiser chaque moteur de comparaison pour des fichiers jusqu’à 5 Mo par côté et 10 nouvelles sessions de comparaison par jour local ; les collections affichent les 100 premiers éléments et les PDF affichent les 3 premières pages d’aperçu. Le CLI gratuit prend uniquement en charge le texte, le JSON et les notebooks.

L’achat unique de Pro déverrouille tous les autres modes CLI, chaque manifeste de lot, --report, --apply-patch, le pilote et l’outil de fusion, les sources plus volumineuses dans les limites techniques, l’exportation de rapports, les profils et l’historique, la fusion à trois voies, la synchronisation des dossiers et les préprocesseurs de confiance.

Idéal pour

Où s’inscrit ce flux de travail.

  • Lecture des différences de fichiers mises en évidence par la syntaxe dans un terminal
  • Utilisation de Diff Anything comme outil de comparaison Git ou comme pilote de comparaison pour les types de fichiers choisis
  • Exécution de manifestes de comparaison répétables Pro dans CI

Aucun compte, service de comparaison cloud, analyse ou télémétrie.

Capacités pertinentes

Ce que Diff Anything apporte au travail.

Flux de travail pratique

De la configuration à un résultat révisé.

  1. Passer en mode CLI

    Exécutez l’exécutable de bureau installé avec --cli, toutes les options et exactement deux chemins source lisibles.

  2. Choisir le mode et la sortie

    Utilisez la détection automatique ou un mode explicitement pris en charge, puis sélectionnez la sortie terminal, résumé ou JSON pour une personne ou un autre programme.

  3. Définir le comportement du processus

    Ajoutez --exit-code lorsqu’une différence doit renvoyer 1, ou --fail-on breaking pour une vérification de schéma API ; les erreurs de saisie et de comparaison non valides renvoient 2.

  4. Intégrez en toute sécurité

    Configurez un outil de comparaison ou un pilote de comparaison Git sans --exit-code, ou utilisez un manifeste de lot Pro pour la sortie récapitulative, JSON, JUnit ou SARIF CI.

Utile en pratique

Réponses directes

Questions sur l’outil de comparaison CLI.

Quelles fonctionnalités de ligne de commande le Diff Anything prend-il en charge ?

Sous Windows, Diff Anything utilise l’exécutable de l’app avec --cli et deux chemins sources, ou les arguments transmis par Git à un pilote de diff. Les comparaisons individuelles acceptent les types auto, text, json, yaml, toml, ini, plist, xml, csv, env, http, api, notebook, sqlite, folder, archive, document et binary. La ligne de commande gratuite compare le texte, le JSON et les notebooks ; les autres types nécessitent Pro. Elle prend aussi en charge les règles d’exclusion du texte, les sorties summary, terminal ou JSON, les options de couleur, de langue et de contexte, et un code de sortie facultatif pour les différences. --fail-on breaking compte uniquement les changements de schéma d’API incompatibles ou non classés. Avec Pro, les manifestes de lot acceptent une entrée YAML ou JSON, un réglage failOn par cas et une sortie summary, JSON, JUnit ou SARIF. Pro ajoute aussi les rapports, --apply-patch, le pilote de fusion Git et l’outil de fusion.

Diff Anything dispose-t-il d’un mode CLI d’image distinct ?

Non. La liste de modes CLI documentée n’a pas de mode image. Les fichiers image peuvent toujours être inspectés via une gestion automatique ou binaire prise en charge, tandis que l’espace de travail d’image visuelle spécialement conçu est une fonctionnalité de bureau.

Le mode document CLI compare-t-il visuellement les pages PDF ?

Non. Le mode document CLI compare le contenu extrait. Pour les contrôles de mise en page automatisés, restituez d’abord les pages PDF correspondantes en images de taille égale et utilisez le mode binaire Pro avec la sortie JSON ; pour une comparaison directe du rendu PDF à PDF, utilisez le Visual diff du bureau.

Une commande Git difftool doit-elle utiliser --exit-code ?

Non. Git appelle déjà un difftool pour une paire modifiée et s’attend à un traitement réussi, donc la commande difftool documentée omet --exit-code. Laissez-le également en dehors d’un pilote de différence : Git arrête git diff au premier fichier modifié lorsqu’un pilote de différence se termine avec un statut différent de zéro.

Diff Anything peut-il s’exécuter en tant que pilote de comparaison pour git diff ?

Oui, sur Windows. Définissez le pilote avec git config diff.diff-anything.command et attribuez-le aux types de fichiers dans .gitattributes, par exemple *.json diff=diff-anything. git diff l’utilise ensuite pour ces fichiers ; git log -p et git show l’utilisent avec --ext-diff. Sur le plan gratuit, un fichier que le plan ne couvre pas est répertorié comme non comparé et git diff continue.

Où l’exécutable est-il installé ?

La version Microsoft Store sur Windows déclare l’alias d’exécution diff-anything.exe. La version Mac App Store s’exécute dans App Sandbox d’Apple, ce qui la limite aux fichiers et dossiers que vous choisissez dans l’application. L’utilisation en ligne de commande est donc décrite pour Windows.

Aller plus loin

Sous Windows, lancer des comparaisons reproductibles, comprendre les codes de sortie, intégrer Git et produire des résultats lisibles par une machine pour la CI.

Lire Utiliser Diff Anything depuis la CLI, Git et CI
Gratuit & Pro : ce qui est inclus

Disponible sur le Mac App Store et le Microsoft Store. L’utilisation de la version gratuite de l’app vous permet d’essayer tous les moteurs de comparaison pour des fichiers jusqu’à 5 Mo par côté et 10 nouvelles sessions de comparaison par jour local ; les aperçus de collection affichent les 100 premiers éléments, les comparaisons binaires les 100 premiers octets de différences et les aperçus PDF des 3 premières pages. La comparaison du texte brut, des notebooks JSON et Jupyter est complète et l’ouverture de fichiers à partir du Finder ou de l’Explorateur de fichiers, des liens diffanything:// et AppleScript est gratuite. La CLI gratuite prend en charge le texte, JSON et les notebooks. Un achat Pro unique supprime les limites d’aperçu et de session et déverrouille des sources plus volumineuses dans les limites techniques, les profils et l’historique enregistrés, l’enregistrement des instantanés de dossiers, l’exportation et l’impression de rapports, l’exportation de correctifs JSON, l’application de correctifs, la fusion à trois voies et la résolution des conflits, le pilote de fusion et l’outil de fusion Git, la synchronisation des dossiers, les manifestes par lots, les préprocesseurs de confiance et chaque mode CLI.

Plus Diff Anything

Parcourez tous les outils et flux de travail ciblés.

Voir tous les outils Diff Anything