Bloc-notes ++ Comparez deux fichiers et supprimez

12

Disons que j'ai deux fichiers. file1.txt et file2.txt

Les deux fichiers contiennent une liste de noms de marques de chaussures (plus de 1000 noms), comme ceci:

marque1 marque2 marque3 marque ...

Maintenant - je veux comparer le fichier1 au fichier2, supprimer toutes les entrées récurrentes et ne me montrer que ce qui se trouve dans les fichiers1 qui ne se trouve pas dans le fichier2 et vice versa.

Le but en d'autres termes est de voir ce qui ne se trouve pas dans le fichier opposé, car ces entrées vont être saisies manuellement dans un backoffice de produit pour deux catégories différentes afin qu'elles correspondent / soient finalement les mêmes.

Kristian
la source
2
IMO, ce serait beaucoup plus facile à accomplir dans Excel si vous pouvez y copier toutes vos données ou enregistrer les TXT en tant que CSV. Il peut facilement trier, supprimer les doublons et je suis sûr que la comparaison des colonnes ne serait pas difficile non plus.
Karan
Le lien suivant peut être utile: superuser.com/a/290445
akjain

Réponses:

7

Le plugin "Compare" de Notepad ++ ferait-il l'affaire?

Vous pouvez l'installer depuis le menu des plugins Notepad ++ => Plugin Manager => Compare 1.5.6

Voici la description officielle: Un plugin diff très utile pour montrer la différence entre 2 fichiers (côte à côte). Auteur: Ty Landercasper, maintenant maintenu et mis à jour par Jean-Sebastien Leroy Source: http://sourceforge.net/projects/npp-plugins/files/ComparePlugin/Compare_1_5_5_src.zip/download

Fabien
la source
2
Malheureusement, je ne pense pas. Le plugin Compare met simplement en évidence les différences entre deux fichiers, mais ne propose aucun outil pour effectuer des sélections ou des modifications en fonction de ses résultats. Bien que certainement utile, je crains que la tâche soit encore très fastidieuse pour plus d'un millier de marques.
Marcks Thomas
3

Une vieille question, mais ...

  1. Comparez les fichiers dans WinMerge
  2. Outils -> Générer un correctif (enregistrez-le)
  3. Le patch a des changements des deux, mais aussi un balisage supplémentaire. Dans notepad ++, procédez comme suit:

        Search Mode:  Regular Expression
        Find What:    ^[0-9-].*$
        Replace With: <blank>
        Replace All
    

    .

        Search Mode:  Regular Expression
        Find What:    (<|>)
        Replace With: <blank>
        Replace All
    
  4. Utilisez le plugin TextFX dans notepad ++ soit faites un tri Outils-> insensible à la casse (option de sortie UNIQUE sélectionnée), soit Edit-> Supprimer les lignes vides

Bit mungy, mais je n'ai pas encore trouvé d'outil pour le faire en un clic.

James King
la source
0

Si Unix est à votre disposition, vous pouvez essayer ces combinaisons simples de commandes simples; tr, sort et comm.

Tout d'abord, convertissez le fichier de séparé horizontalement en séparé verticalement:

tr '[:blank:]' '\n' < file1.txt > /tmp/file1.vertical
tr '[:blank:]' '\n' < file2.txt > /tmp/file2.vertical

Triez ensuite les fichiers:

sort /tmp/file1.vertical > /tmp/file1.sorted
sort /tmp/file2.vertical > /tmp/file2.sorted

Vous pouvez maintenant voir ce qui se trouve dans le fichier1 qui ne l'est pas dans le fichier2

comm -23 /tmp/file1.sorted /tmp/file2.sorted

Ou voyez ce qui est dans le fichier2 qui n'est pas dans le fichier1

comm -13 /tmp/file1.sorted /tmp/file2.sorted

Si vous souhaitez que la sortie soit dans le même format horizontal avec lequel vous avez commencé, vous pouvez le faire:

comm -23 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '
comm -13 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '

Lorsque vous avez terminé, vous pouvez supprimer les fichiers temporaires que vous avez créés:

rm /tmp/file1.vertical /tmp/file2.vertical /tmp/file1.sorted /tmp/file2.sorted
eric
la source