harold50 Posté(e) le 3 septembre 2008 Partager Posté(e) le 3 septembre 2008 Bonjour j'ai un fichier text dans lequel je dois supprimer plusieurs lignes. mais il y a une ligne ou je ne dois supprimer qu'une partie de la ligne comment je fais?? pour supprimer les lignes j'ai pensé à sed -i".bak" 'numero_de_la_ligne' nom_du_fichier.txt mais le probleme c'est que je devrais taper cette commande pour chaque ligne à supprimer donc si vous avez une methode plus simple merci de me l'a donner merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2008 Partager Posté(e) le 3 septembre 2008 En perl : perl -ne 'print unless grep /$./, (X, X, X, X) en remplaçant X par tes lignes à supprimer. Lien vers le commentaire Partager sur d’autres sites More sharing options...
harold50 Posté(e) le 3 septembre 2008 Auteur Partager Posté(e) le 3 septembre 2008 euh je prefere une commande shell Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2008 Partager Posté(e) le 3 septembre 2008 Parce que ça n'en est pas une ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
harold50 Posté(e) le 3 septembre 2008 Auteur Partager Posté(e) le 3 septembre 2008 desolé mais je confondais avec le langage perl utilisé pour le web (comme php) mais faut dire que je ne m'y connais pas en perl et quand je regarde ta commande je ne sais pas où spécifier le fichier à traiter. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2008 Partager Posté(e) le 3 septembre 2008 À la fin, comme avec sed perl -ne 'print unless grep /$./, (X, X, X, X)' FICHIER Lien vers le commentaire Partager sur d’autres sites More sharing options...
harold50 Posté(e) le 4 septembre 2008 Auteur Partager Posté(e) le 4 septembre 2008 À la fin, comme avec sed perl -ne 'print unless grep /$./, (X, X, X, X)' FICHIER ça marche mais juste pour les numeros de ligne à un chiffre. par exemple je ne peux pas supprimer la ligne 13 avec mais j'ai trouver une solution. et ce je ne veux pas supprimer toute la ligne mais juste une partie de la ligne? Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 4 septembre 2008 Partager Posté(e) le 4 septembre 2008 Si si, ça fonctionne avec les nombres à deux chiffres ou plus. Pour supprimer une partie de la ligne, il faut lui dire quoi aussi. Pour ça il faut utiliser s/// ou l'utilitaire cut si tu as un caractère délimiteur (ou awk si c'est un espace). Lien vers le commentaire Partager sur d’autres sites More sharing options...
harold50 Posté(e) le 4 septembre 2008 Auteur Partager Posté(e) le 4 septembre 2008 voila la ligne 1> 2> 3> 4> 5> SMSMO_TIMES SMSMO_SUCCESS_TIMES et je veux supprimer 1> 2> 3> 4> 5> Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 4 septembre 2008 Partager Posté(e) le 4 septembre 2008 s/1> 2> 3> 4> 5>// Mais vraiment tu devrais te documenter un peu au lieu de simplement recopier des commandes qu'on te donne. Ça te jouera des tours un jour. Lien vers le commentaire Partager sur d’autres sites More sharing options...
harold50 Posté(e) le 4 septembre 2008 Auteur Partager Posté(e) le 4 septembre 2008 t'inquiete c'est parce que j'en ai besoin urgement. sinon je cherche par moi meme et la au moins j'ai appris quelque chose: l'existence de la commande perl. encore merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 4 septembre 2008 Partager Posté(e) le 4 septembre 2008 C'est même un interpréteur de langage. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.