Batch Supprimer des lignes vides d'un CSV et des lignes commencent par - ou *

Signaler
-
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020
-
Bonjour,
j`ai vu une réponse sur ma question dans ce site merci pour la réponse et je voudrais comprendre ce script svp quelqu’un me explique

findstr /v "^$" f1.csv > f2.csv


merci d`avance

37 réponses

Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Bonjour,

Les lignes vides sont désignées par la regex "^$"
Le commutateur /v désigne toutes les lignes ne contenant pas la chaine recherchée.

Le symbole > redirige la sortie de la commande FINDSTR vers le fichier f2.csv

merci bq pour l`explication
mais comment je vais utiliser ce script pour l`exécute sur mon fichier, copie le sur un fichier.bat?
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720 > **
Tout à fait, tu copies-colles cette commande dans un fichier texte, que tu renommeras toto.bat
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

j`ai essayé mais il me donne un fichier csv vide
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Il faudrait donner plus de détails.
Est-ce que le script est dans le bon dossier ?
Est-ce que tu as indiqué dans le fichier .bat le nom exact du fichier .csv ?
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

c`est mon fichier csv et le scripte .bat et le fichier f2 qui me donne vide
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Ton fichier s'appelle combine.csv, tu n'as pas l'impression d'avoir oublié quelque chose dans le script .bat ?
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

dsl j`ai pas compris ta question
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Actuellement la commande FINDSTR traite le fichier f1.csv alors que le fichier à traiter s'appelle combine.csv
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

ah d`accord merci
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

reste le mm prblm
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Ok, est-ce que tu pourrais m'envoyer ton fichier pour que je fasse des tests ?
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

la je peut envoyer que des photo PNG,JPEG.. comment je peut envoyer un fichiier csv
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Tu peux envoyer ton fichier sur ce site : https://www.cjoint.com/

Ensuite il faut me donner le lien pour que je puisse le télécharger.
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Voici le pourquoi du comment ça ne fonctionne pas. Ton fichier est issu de Linux/Unix et donc toutes les lignes se terminent par un caractère LF (Line Feed)

Sur Windows le caractère de fin de ligne est le CR-LF (Carriage Return - Line Feed)

Voilà pourquoi la commande FINDSTR ne fonctionne pas comme attendu.

J'ai trouvé sur un site une commande qui permet de résoudre le problème :
for /f "eol= delims= usebackq" %%A in (combine.csv) do (echo %%a>> f2.csv)


Voilà le site qui donne la solution :
https://qastack.fr/superuser/71507/convert-unix-line-endings-to-windows
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

Avez-vous vu le fichier?
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

cette commende ca marche pas il me donne juste des %a %a.......
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Ah oui désolé j'ai modifié un truc que j'aurai pas dû, voilà la correction :
for /f "eol= delims= usebackq" %%A in (combine.csv) do (echo %%A>> f2.csv)


N'oublie pas de supprimer l'ancien fichier f2.csv avant le lancer le script.
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

en tout cas mrc bq pour tes effort
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

Je vous suis reconnaissant
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

yes!! ca marche bien je suis vraiment reconnaissante
dernière question svp : comme vous voyez dans mon fichier csv après la combinaison de 50 fichier de mm genre, la première ligne et la 2eme se répète chaque fois comment je peut les supprimer et ne laisse que les premiers
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Voilà la solution :

if exist "f2.csv" (del "f2.csv")
FOR /F "eol= delims= usebackq" %%a IN (combine.csv) DO (ECHO %%a>> f2.csv)
findstr ":" f2.csv > f3.csv


Le résultat final se trouve dans f3.csv
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

est-ce qu`en peut faire deux commandes dans le mm scripte
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
oui il y a actuellement 3 commandes dans le script
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

cette commande annule aussi les 2 premier lignes (les en-têtes du tableau)
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Je croyais que tu voulais supprimer ces lignes, je ne suis plus certain de comprendre ce que tu veux.
Je dois m'absenter, on reprendra plus tard ;)
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

merci infiniment
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
De rien ;)
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

svp comment je peut copie des fichier de 4 genres a partir d`un dossier qui contient plusieurs fichiers
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Peux-tu donner un exemple concret avec les noms, emplacements et contenus des fichiers ?
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720 >
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020

C'est quoi les 4 genres ?
Messages postés
39
Date d'inscription
samedi 24 octobre 2020
Statut
Membre
Dernière intervention
28 octobre 2020

j`ai un dossier s`appelle PMON, a l`intérieur de se dossier il y a presque 50 dossier numérisé de 0 a 50, le dossier qui m`intéresser est le dossier numéro 7 dans ce dossier il y a presque 1000 fichier texte je vais t`envoyer le dossier ou faire un screen pour me comprendre
Messages postés
12791
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
31 octobre 2020
3 720
Le dossier s'appelle juste 7 ?