Saltar al contenido principal

desarrollo · Referencia de comando

qzx compareFiles

Qué hace

Compara archivos de texto línea por línea y archivos binarios mediante bytes exactos y SHA-256.

Madurez del comando: Alpha

Disponible para uso real y retroalimentación mientras su interfaz y comportamiento todavía pueden evolucionar. Esta es la evaluación actual del checkout de desarrollo. Cada futuro tag inmutable de release conservará la evaluación exacta incluida en esa versión. Disponible en PyPI 0.2.2.0.8. La documentación corresponde al checkout alpha 0.2.2.0.8.

Comportamiento y protecciones integradas

Inspecciona sin cambiar el estado

Ejecución directa para esta operación

Funciona sin invocar programas nativos

Funciona sin usar la red

Diseñado para funcionar sin elevación

Esta clasificación de seguridad fue revisada por OpenAI GPT-5.6 Pro contra el digest de implementación sha256:14fc4e563390c03c8b4fc17e1efdc444e275ec2e8f03986ccaf5153e2e407d2e el 2026-08-25.

Sintaxis exacta

qzx compareFiles <file1> <file2> [mode] [max_bytes] --json

Parámetros

Desliza o usa la barra horizontal para ver todas las columnas.

NombreTipoObligatorioPredeterminadoDescripción
file1strNo declaradoRuta al primer archivo
file2strNo declaradoRuta al segundo archivo
modestrNo"full"Modo de comparación: "full" (completo), "summary" (resumen) o "percent" (porcentaje)
max_bytesintNo1048576Tamaño máximo permitido de cada archivo, en bytes (1 MiB de forma predeterminada)

Ejemplos de entrada

qzx compareFiles "file1.py" "file2.py"

Comparar dos archivos Python y mostrar todas las diferencias

qzx compareFiles "file1.txt" "file2.txt" "summary"

Mostrar un resumen de diferencias entre dos archivos de texto

qzx compareFiles "version1.js" "version2.js" "percent"

Mostrar el porcentaje de similitud entre dos archivos JavaScript

qzx compareFiles "image-a.png" "image-b.png"

Comprobar si dos archivos binarios son exactamente iguales mediante bytes y SHA-256

Para obtener la carga estructurada completa, añade --json: qzx compareFiles <file1> <file2> [mode] [max_bytes] --json

Ejemplo de salida observada

Capturado con QZX 0.2.2.0.8 en Windows 11; código de salida 0. Los valores dependientes del host y la duración pueden variar.

Comando del ejemplo: qzx compareFiles ../artifacts/qzx-evidence/compare-files/before.txt ../artifacts/qzx-evidence/compare-files/after.txt full --json

{
    "success": true,
    "file1": "../artifacts/qzx-evidence/compare-files/before.txt",
    "file2": "../artifacts/qzx-evidence/compare-files/after.txt",
    "identical": false,
    "added_lines": 1,
    "removed_lines": 1,
    "total_changes": 2,
    "diff": "Differences between '../artifacts/qzx-evidence/compare-files/before.txt' and '../artifacts/qzx-evidence/compare-files/after.txt':\n--- ../artifacts/qzx-evidence/compare-files/before.txt\n+++ ../artifacts/qzx-evidence/compare-files/after.txt\n@@ -1,2 +1,2 @@\n shared line\n-before\n+after\n\nStatistics:\n- Added lines: 1\n- Removed lines: 1\n- Total changes: 2",
    "message": "Compared '../artifacts/qzx-evidence/compare-files/before.txt' with '../artifacts/qzx-evidence/compare-files/after.txt': 1 added and 1 removed lines.",
    "content_type": "text",
    "comparison_basis": "decoded_text_lines",
    "byte_identical": false,
    "bytes_file1": 21,
    "bytes_file2": 20,
    "encoding_file1": "utf-8",
    "encoding_file2": "utf-8",
    "encoding_confidence_file1": 1,
    "encoding_confidence_file2": 1,
    "sha256_file1": "66b132726d57d857c416bf212c2ac4758f8088ffd9144b01fca3f412dd0e163a",
    "sha256_file2": "245ea69b327e3ad2ea5f90573f1a6357e076642171ad33720bd183fd7aed18f9",
    "similarity_available": true,
    "mode": "full",
    "max_bytes": 1048576,
    "meta": {
        "command": "compareFiles",
        "command_maturity": {
            "stage": "alpha",
            "label": "Alpha",
            "sequence": 2,
            "public_executable": true,
            "stability": "interface_may_change",
            "summary": "Available for real use and feedback while its interface and behavior can still evolve.",
            "promotion_review_required": false,
            "assessment_scope": "development_checkout"
        },
        "duration_ms": 5.218,
        "schema_version": 1
    }
}
Ver el contrato de resultado JSON
{
    "type": "object",
    "properties": {
        "success": {
            "type": "boolean"
        },
        "message": {
            "type": "string"
        },
        "error": {
            "type": "string"
        },
        "error_code": {
            "type": "string"
        },
        "remediation": {
            "type": "string"
        },
        "file1": {
            "type": "string"
        },
        "file2": {
            "type": "string"
        },
        "mode": {
            "type": "string",
            "enum": [
                "full",
                "summary",
                "percent"
            ]
        },
        "identical": {
            "type": "boolean"
        },
        "added_lines": {
            "type": "integer"
        },
        "removed_lines": {
            "type": "integer"
        },
        "total_changes": {
            "type": "integer"
        },
        "diff": {
            "type": "string"
        },
        "similarity": {
            "type": "number"
        },
        "lines_file1": {
            "type": "integer"
        },
        "lines_file2": {
            "type": "integer"
        },
        "identical_lines": {
            "type": "integer"
        },
        "changes": {
            "type": "integer"
        },
        "summary": {
            "type": "string"
        },
        "content_type": {
            "type": "string",
            "enum": [
                "text",
                "binary"
            ]
        },
        "comparison_basis": {
            "type": "string"
        },
        "byte_identical": {
            "type": "boolean"
        },
        "bytes_file1": {
            "type": "integer"
        },
        "bytes_file2": {
            "type": "integer"
        },
        "max_bytes": {
            "type": "integer"
        },
        "encoding_file1": {
            "type": [
                "string",
                "null"
            ]
        },
        "encoding_file2": {
            "type": [
                "string",
                "null"
            ]
        },
        "encoding_confidence_file1": {
            "type": [
                "number",
                "null"
            ]
        },
        "encoding_confidence_file2": {
            "type": [
                "number",
                "null"
            ]
        },
        "sha256_file1": {
            "type": "string"
        },
        "sha256_file2": {
            "type": "string"
        },
        "similarity_available": {
            "type": "boolean"
        },
        "meta": {
            "type": "object",
            "required": [
                "command",
                "command_maturity",
                "duration_ms",
                "schema_version"
            ],
            "properties": {
                "command": {
                    "type": "string"
                },
                "command_maturity": {
                    "type": "object",
                    "required": [
                        "stage",
                        "label",
                        "sequence",
                        "public_executable",
                        "stability",
                        "summary",
                        "promotion_review_required",
                        "assessment_scope"
                    ],
                    "properties": {
                        "stage": {
                            "type": "string"
                        },
                        "label": {
                            "type": "string"
                        },
                        "sequence": {
                            "type": "integer"
                        },
                        "public_executable": {
                            "type": "boolean"
                        },
                        "stability": {
                            "type": "string"
                        },
                        "summary": {
                            "type": "string"
                        },
                        "promotion_review_required": {
                            "type": "boolean"
                        },
                        "assessment_scope": {
                            "type": "string"
                        },
                        "note": {
                            "type": "string"
                        },
                        "review": {
                            "type": "object",
                            "required": [
                                "reviewed_on",
                                "rationale",
                                "evidence"
                            ],
                            "properties": {
                                "reviewed_on": {
                                    "type": "string",
                                    "format": "date"
                                },
                                "rationale": {
                                    "type": "string"
                                },
                                "evidence": {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "replacement": {
                                    "type": "string"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": true
                },
                "duration_ms": {
                    "type": "number"
                },
                "schema_version": {
                    "type": "integer"
                }
            },
            "additionalProperties": true
        }
    },
    "additionalProperties": true,
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "required": [
        "message",
        "meta",
        "success"
    ]
}

Errores y límites

El contrato público exige success=false y un message descriptivo en fallos. Este catálogo aún no declara una taxonomía de errores específica para cada comando; revisa el resultado y no infieras códigos inexistentes.

QZX está en alpha. Dependencias opcionales, permisos y capacidades del host pueden cambiar el resultado.

Flujo de evidencia: capturada y validada por digest.

Evidencia y procedencia

Canal de documentación
Documentación de desarrollo 0.2.2.0.8 · main · sha256:9aa902dfb6b006017e52972bf7871fef49b03ec24ff80741231d743d0354bfc2
Disponibilidad
0.2.2.0.8 o anterior

Sigue explorando

Estos comandos también pertenecen a la categoría de desarrollo. Compáralos para elegir la operación que mejor resuelva tu tarea.

Explorar todos los comandos de QZX