Script Python pour trouver et compter les lignes en double dans un fichier texte

count_duplicate_lines.py
#!/usr/bin/env python3
import sys
from collections import Counter

def main():
    if len(sys.argv) != 2:
        print("Utilisation : python count_lines.py <filename>")
        sys.exit(1)

    filename = sys.argv[1]

    try:
        with open(filename, 'r') as file:
            lines = file.readlines()
    except FileNotFoundError:
        print(f"Fichier '{filename}' non trouvé.")
        sys.exit(1)

    # Compte les occurrences de chaque ligne
    line_counts = Counter(lines)

    # Crée une liste triée des lignes qui apparaissent plus d'une fois
    sorted_lines = sorted(
        [(count, line.strip()) for line, count in line_counts.items() if count > 1],
        reverse=False,
        key=lambda x: x[0]
    )

    # Affiche les lignes triées
    for count, line in sorted_lines:
        print(f"{count} {line}")

if __name__ == "__main__":
    main()

Consultez les articles similaires par catégorie : Python