IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Supprimer une ligne d'un fichier


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Par défaut Supprimer une ligne d'un fichier
    Bonjour à tous,

    Je cherche le moyen de supprimer toute une ligne d'un fichier, après avoir fais un 'echo -n "Quel chemin a supprimer?: ";read dossier'
    Le fichier dans lequel supprimer n'a que des chemins, un chemin par ligne.
    Avec quel commande je pourrai faire ca?

    Merci d'avance.

    paco

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Par défaut
    Voila le script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #! /bin/bash
    # Suppression d'un repertoire de sauvegarde
    grep ^/ backup_src
    echo -n "Quel chemin a supprimer?: ";read dossier
    sed "/$dossier/d" ~/rsync/backup_src
    Il me renvoi un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Quel chemin a supprimer?: /home/paco/test1/
    sed: -e expression n°1, caractère 4: caractères inutiles après la commande
    Une erreur de syntaxe?

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 54
    Par défaut
    essayez grep -v "nom_fichier" "ligne" >"nom_fichier"
    où ligne est la ligne a supprimer, ou un motif qui la caractérise.



    _______________________________________________________________

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par paco69
    Voila le script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #! /bin/bash
    # Suppression d'un repertoire de sauvegarde
    grep ^/ backup_src
    echo -n "Quel chemin a supprimer?: ";read dossier
    sed "/$dossier/d" ~/rsync/backup_src
    Il me renvoi un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Quel chemin a supprimer?: /home/paco/test1/
    sed: -e expression n°1, caractère 4: caractères inutiles après la commande
    Une erreur de syntaxe?
    le problème c'est les slash

    essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "/^$(echo $dossier|sed 's,/,\\/,g')/d" ~/rsync/backup_src
    mais ça ne te modifiera pas ton fichier, ça fera juste une sortie. Si tu veux le modifier, il te faut soit un fichier temp, soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -ne "print unless /^$(echo $dossier|sed 's,/,\\/,g')/" -i ~/rsync/backup_src

Discussions similaires

  1. Supprimer une ligne dans un fichier texte
    Par @yoyo dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 28/03/2006, 15h19
  2. Supprime une ligne dans un fichier texte
    Par dev7 dans le forum Linux
    Réponses: 4
    Dernier message: 28/03/2006, 02h33
  3. Supprimer une ligne dans un fichier text
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/03/2006, 17h43
  4. Supprimer une ligne dans un fichier
    Par tsing dans le forum Linux
    Réponses: 4
    Dernier message: 06/02/2006, 15h45
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo