J'ai plusieurs fichiers avec des centaines de milliers d'enregistrements en format suivant:Parsing utilisant awk ou sed sous Unix
2010/08/10 10:07:52|TrainZoom|1393|38797|MyCustomerAPI->,mask = ZPTA,TransId = 1281460071578,testing :-> , capture -> : , IMDB = 9113290830, equipmentName = GMT, technologyName = RMS,,,)|
Il y a des champs séparés par des tuyaux et à l'intérieur d'un champ (dernier), il y a beaucoup d'autres champs séparés par des virgules. Ce que je veux faire est de stocker toutes ces valeurs dans la base de données. Pour l'exemple ci-dessus mes champs de DB seraient date-heure, nom de processus, identification de fil, numéro de séquence, nom d'API, transId, imdb, equipmentName, technologyName.
API Nom n'est pas dans un format fixe mais je peux supposer que c'est une longueur fixe.
S'il vous plaît laissez-moi savoir si je peux le faire dans Unix en utilisant awk ou sed.
Merci,
Wow, cela fonctionne comme un charme. Combien de temps cela vous a pris pour formater cette commande? Vous êtes formidable. Pouvez-vous également me dire si je veux générer une instruction comme celle-ci 'insérer dans les valeurs mytab (date_heure, nom_fil, seq_num, champ1, champ2) ('2010/02/09', 201,1001, 'Test', 'Test ') 'comment pouvez modifier la commande ci-dessus ou utiliser une autre commande pour formater la sortie de ci-dessus. Merci. –
+1 puisque vous avez dit "juste pour le plaisir". Sinon, j'aurais downvoted une telle réponse diabolique :-) – mogsie
C'est vraiment sympa, ça m'a aidé à en apprendre un peu plus sur sed. Que signifie ce qui suit: 's/\\ ([, =] \\)/\ 1/g' –