13 liens privés
Comment rappeler des bouts de commande de l'historique bash.
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
[...]
Une exploration en profondeur de l'art de la programmation shell
De la bonne pratique du développement des scripts bash.
Juste après le « shebang », mettre ça sur la ligne d’après :
set -euo pipefail
“set -e” which ensures that your script stops on first command failure.
“set -u” which ensures that your script exits on the first unset variable encountered.
“set -o pipefail” which ensures that if any command in a set of piped commands failed, the overall exit status is the status of the failed command.