BATCH - Retour a la ligne précédent

BATCH - Retour a la ligne précédent - Shell/Batch - Programmation

Marsh Posté le 31-01-2006 à 16:10:43    

Salut à tous!
 
J'ai un pb dans un fichier texte. J'aimerais à l'aide d'un batch, effectuer un backspace d'une ligne a la suite de la précédente...Exemple...
 
"PRODUIT","0101"
"00911550150","4075001","TEST","SU","106-22-9","203-375-0","","","","","1"
"0","","",""
"00911550150","1360203","ESSAI","SU","112-31-2","203-957-4","","","","","1"
"0","","",""
"00911550150","1366501","TEST-ESSAI","SU","112-54-9","203-983-6","","","","","1"
"0","","",""
...
 
En sachant que je dois faire cet manip sur plusieurs fichiers différentes (nombre de lignes change sur chaque fichier) mais de structure identiques, c'est à dire que la premiere ligne sera toujours "PRODUIT","0101" et qu'il ne faut rien ajouter derriere. J'aimerais arriver à un résultat du type:
 
"PRODUCT","0101"
"00911550150","4075001","6-OCTEN-1-OL,3,7-DIMETHYL-","SU","106-22-9","203-375-0","","","","","1","0","","",""
"00911550150","1360203","DECANAL","SU","112-31-2","203-957-4","","","","","1","0","","",""
"00911550150","1366501","DODECANAL","SU","112-54-9","203-983-6","","","","","1","0","","",""
 
Il faut donc ajouter une "," a la fin de la ligne 1 et mettre a la suite la ligne 2...
 
J'ai testé plusieurs chose mais je suis bloqué... Pouvez m'aider ???......
 
Merci d'avance
 
Fab

Reply

Marsh Posté le 31-01-2006 à 16:10:43   

Reply

Marsh Posté le 31-01-2006 à 17:03:44    

Salut,
 
Poste ton script actuel.
 
Regarde également l'aide de la commande  
for
(dont l'option skip) et fais une recherche sur ce forum pour les exemples de lecture ligne par ligne des fichiers texte.

Reply

Marsh Posté le 31-01-2006 à 19:44:24    

Sous unix avec 2/3 grep par-ci par-là et des fichiers temporaire on doit pouvoir s'en sortir s'il y a autant de ligne "009..." que "0","","","" ... ;)
 
Remarque avec notepad c'est peut etre possible avec un recherché remplacé ;)
 
genre recherché : 'retourchariot'"0",
remplacer par : "0",
et si notepad le fait pas, vi et un peu de brainstorming pourrai p'tet t'aider.


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 31-01-2006 à 20:14:33    

Je posterai mon script actuel demain...car il est au boulot...
Sinon niveau brainstorming justement c'est pour ça que je viens au forum...je crois pas que je puisse compter sur les mecs de mon service lol...
Puis je testerai avec Notepad mais j'ai un doute puisqu'il faut que j'automatise tout ça pour combler une défaillance d'un logiciel...
 
Merci pour vos suggestion en tout cas!
 
Fab

Reply

Marsh Posté le 31-01-2006 à 22:09:09    

Si tu veux un logiciel, tu peux tester BK ReplaceEm (gratuit), PowerGrep ou Editpad Pro (trialware) qui supportent les expressions régulières. Mais à mon avis, ça devrait être possible en batch ;)

Reply

Marsh Posté le 01-02-2006 à 13:12:01    

Oui de toute façon faut que ce soit en batch et completement automatique...J'ai deja automatisé pas mal reste seulement a trouvé comment replacer ces lignes...Car actuellement mon batch :
1) dézippe un fichier contenant 4 .csv
2) transforme ces fichiers en txt
3) replace les ligne au bonne endroits  
4) Reconvertir en .csv
5) re-zippe le fichier
6) pouf pouf c'est fini
 
je peche sur le point 3...Je vais regarder de plus pres le forum et chercher des infos...
 
Fab
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed