Utilisez comm
pour comparer votre dossier afin de trouver ce qui est commun ou distinct dans les .
$ cat file1
item1 item2 item3
item8 item10 item6
item32 item12 item5
$ cat file2
item1 item2 item3
item8 item15 item6
item32 item12 item7
comm -23 file1 file2
renvoie les lignes qui sont en fichier1 mais pas dans fichier2
comm -13 file1 file2
renvoie les lignes qui sont en fichier2 mais pas dans fichier1
comm -12 file1 file2
renvoie lignes communes dans les deux fichiers
comm
nécessite des fichiers d'entrée à être trié. Nous allons d'abord convertir spaces
en \n
via sed, puis trier via tri.
$ comm -23 <(sed 's/ \+/\n/g' file1 | sort) <(sed 's/ \+/\n/g' file2 | sort)
item10
item5
$ comm -13 <(sed 's/ \+/\n/g' file1 | sort) <(sed 's/ \+/\n/g' file2 | sort)
item15
item7
$ comm -12 <(sed 's/ \+/\n/g' file1 | sort) <(sed 's/ \+/\n/g' file2 | sort)
item1
item12
item2
item3
item32
item6
item8
- Ma réponse se termine ici. ---
Mais pour plus d'informations, page man de comm dit:
With no options, comm produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files.
-1 suppress column 1 (lines unique to FILE1)
-2 suppress column 2 (lines unique to FILE2)
-3 suppress column 3 (lines that appear in both files)
Par conséquent:
$ comm <(sed 's/ \+/\n/g' file1 | sort) <(sed 's/ \+/\n/g' file2 | sort)
item1
item10
item12
item15
item2
item3
item32
item5
item6
item7
item8
vous avez écrit ** deux fichiers texte **, poster les fichiers d'entrée et les attendus résultat – RomanPerekhrest