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

Shell et commandes GNU Discussion :

Script ajouter nom du fichier


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut Script ajouter nom du fichier
    Bonjour,

    j'ai un répertoire avec beaucoup de fichiers *.gft (fichiers texte) contenant des données. je voudrais faire un script qui ajoute le nom du fichier à la première ligne de ce fichier.

    Est-ce possible ?

    Merci

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Bonjour,

    Est-ce possible ?
    oui, c'est possible.

    <spoiler>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in *.gft; do echo "$file"; sed "1i$file" "$file"; done
    </spoiler>
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    Merci de la réponse rapide,

    Je viens d'essayer mais dans le fichier je ne retrouve pas le nom du fichier ajouté.

    Comment le nom du fichier est-il enregisttré dans le fichier ?

    Merci

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    ah, oui ! j'ai oublié l'option --in-place de GNU sed
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in *.gft; do sed -i "1i$file" "$file"; done
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    Merci,

    J'ai essayer d'ajouter des tabulations avant et après le nom du fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in Simu1_01_10k_init.pdf.gft; do sed -i "1i'\t$file\t'" "$file"; done
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for file in Simu1_01_10k_init.pdf.gft; do sed -i "1i'\t'$file'\t'" "$file"; done
    mais les ' apparaissent dans le fichier, et si je les enleve completement ce sont les /t qui apparaissent.

    Comment faire pour n'avoir que la tabulation ?

    Merci

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for file in Simu1_01_10k_init.pdf.gft; do 
    sed -i "1i\
    \t$file\t
    " "$file"
    done

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    bonjour

    j'obtient
    tSimu1_01_10k_init.pdf.gft

    en début de fichier en ajoutant \

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "1s/.*/\t$file\n&/" "$file"
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par Rone22170 Voir le message
    bonjour

    j'obtient
    tSimu1_01_10k_init.pdf.gft

    en début de fichier en ajoutant \



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $ cat fich1.txt
    ligne1
    ligne2
    ligne3
    
    $ var=blabla
    
    $ sed -i '1i\
    \t'"$var"'\t
    ' fich1.txt
    
    $ cat fich1.txt
            blabla
    ligne1
    ligne2
    ligne3

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    Merci ca marche nickel

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

Discussions similaires

  1. [log4j] Ajouter la date au nom du fichier
    Par n@n¤u dans le forum Logging
    Réponses: 5
    Dernier message: 09/01/2008, 22h29
  2. Nom de fichier de script.
    Par jean_bruder dans le forum VBScript
    Réponses: 3
    Dernier message: 18/09/2007, 19h21
  3. Ajouter au noms des fichiers le nom du rep
    Par nestam dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 28/08/2007, 18h42
  4. script batch - récupération d'un nom de fichier
    Par persam dans le forum Windows
    Réponses: 1
    Dernier message: 19/07/2007, 10h45
  5. Réponses: 2
    Dernier message: 09/02/2006, 11h42

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