Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/06/2011, 11h57   #1
Invité de passage
 
Inscription : mai 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 8
Points : 1
Points : 1
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
Rone22170 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 12h23   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

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

<spoiler>
Code :
for file in *.gft; do echo "$file"; sed "1i$file" "$file"; done
</spoiler>
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 03/06/2011, 12h39   #3
Invité de passage
 
Inscription : mai 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 8
Points : 1
Points : 1
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
Rone22170 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 12h48   #4
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
ah, oui ! j'ai oublié l'option --in-place de GNU sed
Code :
for file in *.gft; do sed -i "1i$file" "$file"; done
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/06/2011, 13h15   #5
Invité de passage
 
Inscription : mai 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 8
Points : 1
Points : 1
Merci,

J'ai essayer d'ajouter des tabulations avant et après le nom du fichier
Code :
for file in Simu1_01_10k_init.pdf.gft; do sed -i "1i'\t$file\t'" "$file"; done
et

Code :
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
Rone22170 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 13h22   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Code :
1
2
3
4
5
for file in Simu1_01_10k_init.pdf.gft; do 
sed -i "1i\
\t$file\t
" "$file"
done
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 03/06/2011, 13h29   #7
Invité de passage
 
Inscription : mai 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 8
Points : 1
Points : 1
bonjour

j'obtient
tSimu1_01_10k_init.pdf.gft

en début de fichier en ajoutant \
Rone22170 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 13h30   #8
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Code :
sed "1s/.*/\t$file\n&/" "$file"
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/06/2011, 13h39   #9
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Citation:
Envoyé par Rone22170 Voir le message
bonjour

j'obtient
tSimu1_01_10k_init.pdf.gft

en début de fichier en ajoutant \



Code :
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
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 04/06/2011, 18h00   #10
Invité de passage
 
Inscription : mai 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 8
Points : 1
Points : 1
Merci ca marche nickel
Rone22170 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h28.


 
 
 
 
Partenaires

Hébergement Web