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 :

faire des "echos" qui placent le texte à la suite dans la ligne


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut faire des "echos" qui placent le texte à la suite dans la ligne
    Bonjour;
    J'exécute la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in $(<alive_borderline); do echo $i >> tmp_rights; ssh "ls -la / | grep tmp" >> tmp_rights; done
    alive_borderline est un fichier qui contient un grand nombre de hostnames dont je veux vérifier les droits de /tmp.
    Le soucis est que le fichier de sortie ressemble à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    borderline-10.bordeaux.grid5000.fr
    drwxrwxrwt   6 root root  4096 Dec  2 16:25 tmp
    borderline-1.bordeaux.grid5000.fr
    drwxrwxrwt   4 root root  4096 Dec  2 16:30 tmp
    borderline-2.bordeaux.grid5000.fr
    drwxrwxrwt   4 root root  4096 Dec  2 16:25 tmp
    borderline-3.bordeaux.grid5000.fr
    drwxrwxrwt   5 root root  4096 Dec  2 16:25 tmp
    borderline-4.bordeaux.grid5000.fr
    Et j'aimerais savoir s'il existe une façon de faire pour avoir les deux termes dans la même ligne à chaque fois plutôt qu'un retour à la ligne qui m'empêche maintenant de traiter les machines selon les droits de /tmp.
    Je vous remercie de votre aide!

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Par défaut
    Je pense qu'utiliser echo -n au lieu de echo devrait résoudre le problème.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    ou printf

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in $(<alive_borderline); do printf "$i" >> tmp_rights; ssh "ls -la / | grep tmp" >> tmp_rights; done

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 672
    Par défaut
    si la ligne du fichier contient des espaces, tu te réserves de (pas du tout) drôles de surprises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while read line; do
       echo -n "$line "
       ssh "ls -la / | grep tmp" 
    done < alive_borderline > tmp_rights
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Bonjour,
    En effet, l'option -n ne m'ajoute pas d'espace; bon, c'est un peu sale, mais ça me va pour ce que je veux faire
    Par contre, avec un printf"$i " (en mettant un espace dans le printf) ça marche aussi mais en plus, ça me rajoute un espace pour éviter de tout coller
    C'est tout bon, merci!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/11/2010, 11h51

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