13 liens privés
awk '!seen[$0]++' filename
Des liens, doc et exemples sur les outils linux (vi, sed, awk ...)
grep --text -o -P "DEBUT EXPORT INE +\d{2}/\d{2}/\d{4}\-\d{2}h\d{2}|\d+(\/\d+){5}" trt_exportIne.log | awk '{if (/^DEBUT/) {printf "\n"$0";"} else {printf $0}}'
grep recherche 2 motifs :
DEBUT EXPORT INE \d{2}/\d{2}/\d{4}\-\d{2}h\d{2}
\d+(\/\d+){5}
awk traite ensuite le résultat :if (/^DEBUT/) {printf "\n"$0";"}
recherche le motif déterminant le passage à la ligneelse {printf $0}
par défaut, affiche tout le reste sur une même ligne
Pour retirer les lignes en doublon dans un fichier texte contenant beaucoup de lignes (voir le billet “Dictionnaire français pour hashcat“), j’ai utilisé la commande suivante :
cat toto.txt | sort | uniq > pas-de-doublons.txt
où toto.txt est un fichier texte d’environ 20 Go et où le fichier pas-de-doublons.txt résultant ne fait plus que 311 Mo. La commande met 1h30 à s’exécuter sur mon ordinateur.
Un internaute m’a fait remarquer en commentaire sur mon GitHub que cette commande pouvait être avantageusement remplacée par la commande suivante :
cat toto.txt | awk '!x[$0]++' > pas-de-doublons.txt
[...]