![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| changement extension de fichier de la racine et les sous-répertoires | Astrid | De programmation et de script Shell | 10 | 02-17-2008 07:18 AM |
| extension problème s'il vous plaît aider | sharmasdeepti | UNIX pour les nuls Questions et réponses | 1 | 10-24-2007 08:29 AM |
| sans extension | adurga | UNIX pour les nuls Questions et réponses | 3 | 07-02-2007 01:34 PM |
| Changement de l'extension | mohan705 | De programmation et de script Shell | 4 | 06-30-2007 02:06 PM |
| Comment puis-je changer l'extension | kswaraj | De programmation et de script Shell | 2 | 06-28-2004 09:07 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Comment écrire un script shell que le changement de l'extension de tous les fichiers?
par exemple chext doc rtf où. rtf est la première extension et. doc est la nouvelle extension est-il quelque chose à voir avec basename? ai-je besoin d'une boucle for? S'il vous plaît, aidez! Unix SuperNewbie |
|
||||
|
vous vous rendrez compte que faire une recherche sur ces forums ne vous donne plus d'idées ... J'ai cherché pour exampe pour "renommer les fichiers" et j'ai eu ce lien ...
Moyen facile de renommer des fichiers en masse? Je viens de modifier un petit morceau de code dans le lien ci-dessus ... Citation:
Vishnu. |
|
||||
|
Je peux obtenir le script comme suit:
#! / bin / sh pour le nom de `ls *. rtf» faire nom1 \u003d `echo $ nom | cut-f 1-d. » mv $ name1.rtf $ name1.doc fait fonctionne bien, mais comment puis-je le faire fonctionner comme ceci: chext 1 2 où 1 est la première extension et 2 est la volonté nouvelle extension? |
|
||||
|
remplacer ces "rtf" et "doc" de $ 1 et $ 2 dans votre script ... Je dois ajouter que ce qui précède, en utilisant "cut" ne fonctionnera pas si vous avez plusieurs points dans votre nom de fichier ... Code:
#!/bin/sh for name in `ls *.$1` do name1=`echo $name | sed -e "s/^\(.*\)\.$1$/\1\.$2/g"` mv $name $name1 done ou plus compact et plus rapide que je préfère ... Code:
#!/bin/sh ls *.$1 | sed -e "s/^\(.*\)\.$1$/\1\.$1 \1\.$2/g" | xargs -n 2 mv -f À la vôtre! Vishnu. |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|