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.

#26 Le 26/03/2014, à 11:25

tiramiseb

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

Si la commajnde "rename" de credenhill (toujours utile, cette commande) ne fonctionne pas, simplifions la commande sed, que donne la chose suivante ?

echo "blabla-toto tata 23 720. ac3.mp4" | sed 's/[^0-9]*\([0-9]\+\).*/\1/'

Hors ligne

#27 Le 26/03/2014, à 13:14

Spike00

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

hello

$ ls -1
bla.bla.bla toto tata 145 1080.torrent
blabla-toto tata 23 720. ac3.mp4
$ rename -n 's/^([^0-9]*)( [0-9]*)(.*)(\.[a-z0-9]*$)/$2$4/' *
bla.bla.bla toto tata 145 1080.torrent renamed as  145.torrent
blabla-toto tata 23 720. ac3.mp4 renamed as  23.mp4

Salut,

touch "bla.bla.bla toto tata 145 1080.torrent"
touch "blabla-toto tata 23 720. ac3.mp4"
ls -1

Résultat :

bla.bla.bla toto tata 145 1080.torrent
blabla-toto tata 23 720. ac3.mp4
rename -n 's/^([^0-9]*)( [0-9]*)(.*)(\.[a-z0-9]*$)/$2$4/' *

Résultat :

-bash: rename: command not found
man rename

Résultat :

manuel

It's included as an alias in some Unix systems for PC users.
Actually in Leopard you can
man rename
and get a result
but, the command is not in the system (too many letters to type when mv will do  )

Merci pour ton aide. Mais malheureusement cela ne fonctionne pas sur mac.

Dernière modification par Spike00 (Le 26/03/2014, à 13:35)

Hors ligne

#28 Le 26/03/2014, à 13:20

Spike00

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

Si la commande "rename" de credenhill (toujours utile, cette commande) ne fonctionne pas, simplifions la commande sed, que donne la chose suivante ?

echo "blabla-toto tata 23 720. ac3.mp4" | sed 's/[^0-9]*\([0-9]\+\).*/\1/'
echo "blabla-toto tata 23 720. ac3.mp4" | sed 's/[^0-9]*\([0-9]\+\).*/\1/'

Résultat :

blabla-toto tata 23 720. ac3.mp4

A vous tous Merci pour votre persévérance.

Hors ligne

#29 Le 26/03/2014, à 13:50

credenhill

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

$ echo "bla.bla.bla toto tata 145 1080.torrent" |  sed -r 's/^([^0-9]*)([0-9]*)(.*)(\.[a-z0-9]*$)/\2\4/'
145.torrent
$ echo "blabla-toto tata 23 720. ac3.mp4" | sed -r 's/^([^0-9]*)([0-9]*)(.*)(\.[a-z0-9]*$)/\2\4/'
23.mp4

Hors ligne

#30 Le 26/03/2014, à 13:57

tiramiseb

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

Oui credenhill, on a bien compris que sur Ubuntu ça marche, ça on n'en doute pas.
Ce n'est pas en répétant des commandes quasiment identiques qu'on fera avancer le schmilblick sur l'OS X de Spike00

Simplifions encore plus... Spike00, tente la chose suivante :

echo "blabla-toto tata 23 720. ac3.mp4" | sed 's/^[^0-9]*//;s/ .*$//'

ça devrait retourner 23.


PS : en même temps, il ne fallait pas utiliser un sous-OS comme celui-ci hein tongue

Hors ligne

#31 Le 26/03/2014, à 15:20

credenhill

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

tu n'as pas du comprendre que j'utilise la syntaxe du rename avec sed

Hors ligne

#32 Le 26/03/2014, à 15:31

Spike00

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

tiramiseb a écrit :

Simplifions encore plus... Spike00, tente la chose suivante :

echo "blabla-toto tata 23 720. ac3.mp4" | sed 's/^[^0-9]*//;s/ .*$//'
echo "blabla-toto tata 23 720. ac3.mp4" | sed 's/^[^0-9]*//;s/ .*$//'
tiramiseb a écrit :

ça devrait retourner 23.

Résultat :

23

!

En effet ; ça fonctionne!
Merci beaucoup tiramiseb.


sed 's/^[^0-9]*//;s/ .*$//'

Pourrais tu m'expliquer ton code?


PS : en même temps, il ne fallait pas utiliser un sous-OS comme celui-ci hein

os x ; n'est pas totalement parfait

Dernière modification par Spike00 (Le 26/03/2014, à 15:32)

Hors ligne

#33 Le 26/03/2014, à 15:36

tiramiseb

Re : Renommer des fichiers en conservant le premier nombre et l'extension.

Spike00 a écrit :
sed 's/^[^0-9]*//;s/ .*$//'

Pourrais tu m'expliquer ton code?


s/^[^0-9]*// => remplacer la chaîne qui commence par un début de ligne (^) et qui ne contient pas de chiffre par rien du tout
s/ .*$// => remplacer la chaîne qui commence par une espace, qui contient n'importe quoi et qui termine par une fin de ligne par rien du tout

Hors ligne