Le fichier a.txt
contient environ 100 000 mots, chaque mot est sur une nouvelle ligne
july.cpp
windows.exe
ttm.rar
document.zip
Le fichier b.txt
contient 150 000 mots, un mot par ligne - certains mots proviennent du fichier a.txt
, mais certains mots sont nouveaux:
july.cpp
NOVEMBER.txt
windows.exe
ttm.rar
document.zip
diary.txt
Comment puis-je fusionner ces fichiers en un seul, supprimer toutes les lignes en double et conserver les lignes qui sont nouvelles (lignes qui existent dans a.txt
mais n'existent pas dans b.txt
, et vice versa)?
text-processing
Kate-Kasia
la source
la source
Réponses:
Il y a une commande pour ce faire:
comm
. Comme indiqué dansman comm
, c'est simple:Notez que le
comm
contenu des fichiers doit être trié, vous devez donc les trier avant de les appelercomm
, comme ceci:Pour résumer:
Après les commandes ci-dessus, vous aurez des lignes attendues dans le
result.txt
fichier.la source
Voici un court script python3, basé sur la réponse de Germar , qui devrait accomplir cela tout en conservant
b.txt
l'ordre non trié de.la source
la source
Jetez un oeil à la
comm
commande coreutils -man comm
Ainsi, par exemple, vous pouvez faire
(lignes uniques à
b.txt
)la source