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 09/12/2015, à 17:01

kisame

[Resolu] Renommer des fichiers texte ac la 1e ligne de chq fichier

Salut tout le monde,

Quelqu'un pourrait m'aider avec mon problème.
J'ai des milliers de fichiers texte (obtenus suite à une recupération de données sur une carte sd defectueuse) que je souhaite renommer avec la 1ere ligne de chaque fichier texte.
Je pense qu'en bash c'est faisable en 1 ligne voir en un petit fishier shell. Si quelqu'un pouvait m'aider à faire ça ça serait très appréciable.

Merci d'avance.
@+

Dernière modification par kisame (Le 09/12/2015, à 18:21)


Kubuntu 12.10 version AMD64;  Version de KDE : 4.8.5
Carte graphique: GeForce FX 5500; Version du pilote Nvidia : 173.14.35; Résolution : 1680x1050;   Modèle d'écran : Acer AL2016W
Processeur : AMD Athlon 3400+; 2400 Mhz

Hors ligne

#2 Le 09/12/2015, à 17:12

vv221

Re : [Resolu] Renommer des fichiers texte ac la 1e ligne de chq fichier

Récupérer la première ligne est facile :

head -n1 fichier.txt

Reste à voir pour la suite ce que tu veux faire de cette ligne.

-----

Si tu veux tout simplement utiliser cette ligne comme nom pour chaque fichier :

for file in *.txt; do
  newname="$(head -n1 "$file").txt"
  mv "$file" "$newname"
done

Cette boucle est à lancer depuis le répertoire contenant les fichiers *.txt

Dernière modification par vv221 (Le 09/12/2015, à 17:15)


Jouer sur Ubuntu ? Facile !

Hors ligne

#3 Le 09/12/2015, à 17:15

pingouinux

Re : [Resolu] Renommer des fichiers texte ac la 1e ligne de chq fichier

Bonjour,

for f in *; do echo mv -i "$f" "$(head -1 "$f")";done

Enlever le echo si c'est bon

for f in *; do mv -i "$f" "$(head -1 "$f")";done

Hors ligne

#4 Le 09/12/2015, à 18:20

kisame

Re : [Resolu] Renommer des fichiers texte ac la 1e ligne de chq fichier

Un grand merci à vous deux. Vous avez été très rapide à répondre smile

Je passe le sujet en résolu.


Kubuntu 12.10 version AMD64;  Version de KDE : 4.8.5
Carte graphique: GeForce FX 5500; Version du pilote Nvidia : 173.14.35; Résolution : 1680x1050;   Modèle d'écran : Acer AL2016W
Processeur : AMD Athlon 3400+; 2400 Mhz

Hors ligne

#5 Le 10/12/2015, à 13:53

credenhill

Re : [Resolu] Renommer des fichiers texte ac la 1e ligne de chq fichier

hello
pour tester

$ awk '{print "mv \"" FILENAME "\" \"" $0 "\""; nextfile}' *

pour exécuter

$ awk '{print "mv \"" FILENAME "\" \"" $0 "\""; nextfile}' * | bash -x

Hors ligne

#6 Le 11/12/2015, à 01:10

kisame

Re : [Resolu] Renommer des fichiers texte ac la 1e ligne de chq fichier

Merci credenhill meme si ca a marché avec les réponses précédentes smile


Kubuntu 12.10 version AMD64;  Version de KDE : 4.8.5
Carte graphique: GeForce FX 5500; Version du pilote Nvidia : 173.14.35; Résolution : 1680x1050;   Modèle d'écran : Acer AL2016W
Processeur : AMD Athlon 3400+; 2400 Mhz

Hors ligne