====== Inversion Nom::Url ====== ===== Besoin ===== Mon espace de stockage me retourne mes données sous la forme : ... Oi-Polloi_Guilty(A).mp3 : https://1fichier.com/?syjod0wbb0zoe2d407p4 Oi-Polloi_Guilty(B).mp3 : https://1fichier.com/?xz6ipixn2bwg9xxmhnpc ... Donc **Le nom du fichier** + '** :** ' + **URL** Mais pour les mettre en forme sur dokuWiki, il me faut les formater de la forme suivante : * [[ URL | Nom de Fichier ]] Voici donc un petit script python qui permet de faire le travail. On passe le fichier à traiter en **paramètre** et on obtient un joli fichier tout fonctionnel output sous le nom **paramètreOut.txt ** ===== Le script ===== ==== En python ==== Toujours vérifier sur le git que ce soit bien la dernière version ;) #!/usr/bin/env python import sys # Verif que le fichier d'entrée est bien passé en paramètre if len(sys.argv) == 1: print('Usage:' + sys.argv[0] + ' + Le_nom_du_fichier_à_importer') print('Mettre le nom du fichier d\'entrée en argument.') exit() else: fileOut = sys.argv[1].split('.') fileOut = fileOut[0] + 'Out.txt' print('Le fichier, après traitement se nommera : {}'. format(fileOut)) # Lecture et recuperation des données file = open(sys.argv[1], "r") varFile = file.readlines() file.close() # Traitement et creation d'une liste listVar = [] for ligne in varFile: ligne = ligne.strip() ligne = ligne.split(' : ') strVar = ' * [[' + ligne[1] + ' | ' + ligne[0] + ']]' listVar.append(strVar) # Ecriture des données traitées dans un fichier de sortie fichierDeSortie = open(fileOut, "a") for elem in listVar: fichierDeSortie.write(elem + "\r\n" ) fichierDeSortie.close() ==== En bash ==== cat file.txt | awk '{split($0,a," : ") ; print "[[ "a[2] " | " a[1] "]]"}' > fileOut.txt