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

Administration système Discussion :

arguments d'après lignes d'un fichier


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 219
    Par défaut arguments d'après lignes d'un fichier
    Bonjour,

    comment fait-on pour lire chaque ligne d'un fichier (contenant 2 arguments par ligne) dans un script sh ?

    De manière à faire, par exemple cp $1 $2 d'après list.lst qui contient :
    /home/test1.conf /duplicate/home/test1.conf
    /var/liste /duplicate/var/liste

    Merci.

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Ce que tu souhaites est faisable avec awk (outil qui permet de découper chaque ligne d'un fichier par colonne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{ print $1 " " $2 }' mon_fichier
    Cependant, si ton fichier ne contient que deux arguments et que tu veux faire une copie toujours du premier vers le second, alors tu n'as pas besoin de awk :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i in `cat mon_fichier`
    do
    cp $i
    done
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 219
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Bonjour,

    Ce que tu souhaites est faisable avec awk (outil qui permet de découper chaque ligne d'un fichier par colonne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{ print $1 " " $2 }' mon_fichier
    Cependant, si ton fichier ne contient que deux arguments et que tu veux faire une copie toujours du premier vers le second, alors tu n'as pas besoin de awk :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i in `cat mon_fichier`
    do
    cp $i
    done
    awk sera très bien. J'ai pris cp comme example, mais les 2 arguments ne sont pas à la suite.

    Merci !

  4. #4
    Membre très actif

    Inscrit en
    Juillet 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 187
    Par défaut
    Bonjour,

    Avec sh je ne sais pas, mais bash propose la commande interne read.

    HTH
    Didier

  5. #5
    Membre chevronné Avatar de Leeloo_Multiboot
    Profil pro
    Administrateur Unix/Linux
    Inscrit en
    Avril 2008
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur Unix/Linux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2008
    Messages : 417
    Par défaut
    Avec sh je ne sais pas, mais bash propose la commande interne read.
    Cela revient au même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cat mon_fichier | while read line
    do
    cp $line
    done

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TPW] Ajout d'une ligne dans un fichier texte après une position saisie
    Par Invité dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 19/12/2010, 12h27
  2. Réponses: 1
    Dernier message: 29/11/2010, 10h21
  3. Réponses: 3
    Dernier message: 22/06/2010, 11h04
  4. Ajout ligne aprés N°ligne précis dans fichier txt
    Par dubinc38 dans le forum VBScript
    Réponses: 12
    Dernier message: 24/02/2009, 09h09
  5. retour à la ligne après ajout element en fichier xml
    Par wajdiisi2007 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/08/2007, 17h07

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