Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/02/2007, à 14:28

LRT

Insérer le nom du fichier dans le texte du fichier

Bonjour, j'aimerai trouver un logiciel qui soit capable de mettre le nom d'un fichier texte (par exemple pour toto.txt, "toto") à l'intérieur du fichier sur la première ligne.

Ainsi, si le fichier toto.txt contient le texte "va à la plage", j'obtiendrai "toto va à la plage",

c pour créer une base de donnée, et j'ai plus de 1500 fichiers à traiter de cette façon,

Merci de votre aide

#2 Le 03/02/2007, à 16:20

LaTheix

Re : Insérer le nom du fichier dans le texte du fichier

Essaye cela dans un script

for i in `ls *.txt`
  do
    echo `basename $i .txt` `head -n1 $i` > $i
  done

Si maintenant je fais un test avec 3 fichiers:

echo "va à la plage" > toto.txt
echo "fait du vélo" > titi.txt
echo "mange des pommes" > tata.txt

J'obtiens une fois le script exécuté:

toto va à la plage
titi fait du vélo
tata mange des pommes

Nota:
- Si tes fichiers ont des espaces dans leur nom, encdrer $i par des guillemets,
- Si tes fichiers sont dispersés dans des sous répertoires sous une même racine, remplacer `ls *.txt`par `ls -R *.txt` pour que le script sois récursif,
- Si tes fichiers ont une autre extension que le 'txt' ou n'en ont pas, la modifier en conséquence dans le script.

Hors ligne

#3 Le 03/02/2007, à 16:57

LRT

Re : Insérer le nom du fichier dans le texte du fichier

Ok merci beaucoup, ca marche, j'utilise cat au lieu de head, car le texte est un peu long
et c très simple au final