Résolu shell et extension de fichiers

ildrad

Nouveau membre
Salut,

je suis actuellement en train de faire un petit script shell sur un NAS synology et je suis face à un probleme auquel je ne trouve pas de solution. D'où ma venue vers vous.

J'ai des fichiers (prenons le fichier "toto") avec une extension en ".a.b" (toto.a.b) et j'aimerai arriver à virer le ".a" (et donc arriver à : "toto.b").

J'a bien trouver une solution avec la fonction rename, seulement, cette fonction n'a pas l'air d'etre implementée totalement sur les NAS Synology, je me retrouve donc coincé. Serait-il possible qu'une personne plus competente de moi se penche sur mon problème afin de voir s'il est possible d'y trouver une solution ?

Une piste pourrait être la fonction sed ou tr (meme si apparemment sed modifie des chaines de caracteres dans un fichier et tr modifie une lettre et pas une sequence de caracteres)

Cordialement,
 

ildrad

Nouveau membre
Meilleure réponse
Bon, en fait j'utilisais mal la fonction "rename" la syntaxe correcte etant :

rename .tar.gz .gz *.tar.gz

rename ancienne_extesion extension_voulue tous_les_fichiers_sur_lesquels_cela_sapplique

Bonne soirée
 

zeb

Modérateur
Salut,

Tu gagnes les points de la meilleure réponse pour avoir eu l'amabilité de revenir nous donner ta solution.
;)

--------------

Euh, il y a une coquille dans ce que tu proposes :
rename .tar.gz .tgz *.tar.gz
N'est-ce pas ?

--------------

Cette commande ne fait pas partie des commandes UNIX.
Elle existe pour Linux dans le paquet standard ulis-linux.

Mais dans tout les cas, o peut simuler cette commande avec ce tout petit script :
C:
for REF in $( ls *.tar.gz > /dev/null )
do
	mv $REF $( echo $REF | sed /\.tar\.gz$/.tgz/ )
done

Et voilà la commande sed utilisée, pour la plus grande joie d'Ildrad !
:D
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 961
Membres
1 586 383
Dernier membre
potofeu
Partager cette page
Haut