Processez des fichier CSV avec AWK pour faire des requêtes SQL

AWK est un utilitaire du monde UNIX et Linux, très puissant et très rapide, très adapté dans le traitement de ligne.

awk -F "," '{print "INSERT INTO table (last_name,first_name,email) VALUES ('\''"$1"'\'', '\''"$2"'\'','\''"$3"'\'');"}' test.txt

Les difficultés relatives à AWK

J’ai rencontré les plus grandes difficultés lorsque j’ai dû concaténer les colonnes du fichier texte. En effet dans une requêtes SQL de type INSERT, il y les valeurs à entourer d’apostrophe dans le fichier de sortie, donc il faut échapper le caractère apostrophe, et ce n’est pas un simple backslash, car le backslash doit être échappé par une apostrophe pour être reconnu comme un backslash d’échappement !

  • https://unix.stackexchange.com/questions/593212/awk-print-apostrophe-single-quote
  • https://earthly.dev/blog/awk-csv/
  • https://www.tutorialspoint.com/awk/awk_basic_examples.htm
  • https://www.geeksforgeeks.org/awk-command-unixlinux-examples/

Retour en haut