Il est souvent utile de transformer des fichiers excel en expressions SQL, en "INSERT" SQL. Et inversement (plus rare) depuis le SQL vers un fichier CSV, c'est ce cas-ci que j'expose. Il s'agit d'une procédure qui peut certainement être optimisée. Si vous trouvez une optimisation possible, lâchez vous !
1. copy fichier.sql fichier.csv
2. vim fichier.csv
3. :%s/^.*VALUES('.\{32}', '......\(.*\)', 'VALUE', '\(.*\)', '\(.*\)', null);/\1\t\2\t\3/g
>> Une ligne comme :
INSERT INTO country(id, constant_key, constant_type, nl_value, fr_value, properties) VALUES('d934509f8f894de79a786e284bdc735a', '00000_XG', 'VALUE', 'NIEUW-ZEELANDS OCEANIE', 'OCEANIE NEO-ZELANDAISE', null);
>> est remplacée par :
XG NIEUW-ZEELANDS OCEANIE OCEANIE NEO-ZELANDAISE
4. Je veux ensuite que mon fichier soit trié alors:
:%sort
(tout simplement)
Plus d'infos : vimregex.com