#1 Le 03/04/2014, à 10:32
- Le Goss
[Résolu] bash renommer des fichiers avec la 2e ligne de leur contenu
Bonjour à tous,
Dans un dossier, je dispose de centaines de fichiers *.txt.
Je cherche à les renommer par le contenu de la 2e ligne de chacun d'eux (plus généralement, par la n-ième).
Le traitement par lot, c'est bon, mais pour le renommage, je sèche.
Merci pour aide,
Cordialement
Dernière modification par Le Goss (Le 03/04/2014, à 11:42)
Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags
Hors ligne
#2 Le 03/04/2014, à 10:41
- genma
Re : [Résolu] bash renommer des fichiers avec la 2e ligne de leur contenu
Si tu sais récupérer le nom du fichier, tu fais ensuite un "mv ancienNom nouveauNom".
C'est la commande mv pour renommer.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière".
Utilisateur d'Ubuntu depuis la version 4.10 !
Mon blog ? https://blog.genma.fr
Mon twitter? http://twitter.com/genma
Hors ligne
#3 Le 03/04/2014, à 10:51
- pingouinux
Re : [Résolu] bash renommer des fichiers avec la 2e ligne de leur contenu
Bonjour,
Essaye
n=2
for i in *.txt; do echo mv -i "$i" "$(sed -n ${n}p "$i")"; done
et enlève le echo si c'est bon.
Hors ligne
#4 Le 03/04/2014, à 11:39
- Le Goss
Re : [Résolu] bash renommer des fichiers avec la 2e ligne de leur contenu
et enlève le echo si c'est bon.
Tout est OK!
Merci beaucoup!
Si je pose une question sur le forum, ce n'est pas par paresse ou pour faire faire "mes devoirs"; c'est par ignorance: j'ai 51 berges. Et, par principe, je préfère être traité d'ignare que de fainéant.
Samsung i7-3630QM CPU @ 2.40GHz × 8 - 64 bits - RAM 7,7 Gio - DD 976 Go - Bodhi 6.0.0 Ubuntu 20.04
Allergique au wysiwyg; traitement à vie: Lilypond - LaTeX - txt2tags
Hors ligne