The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



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
Renommer plusieurs fichiers jayell De programmation et de script Shell 7 01-12-2009 04:27 PM
Renommer plusieurs fichiers Jazmania De programmation et de script Shell 6 01-02-2009 02:16 PM
Renommer des fichiers multiples dhiren_shah UNIX pour les nuls Questions et réponses 2 09-12-2008 02:23 AM
Renommer plusieurs fichiers rmayur UNIX pour les nuls Questions et réponses 6 02-26-2004 04:40 AM
Renommer plusieurs fichiers jxh461 De programmation et de script Shell 4 04-01-2003 07:25 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 01-02-2009
shekhar_v4 shekhar_v4 is offline
Registered User
  
 

Date d'inscription: janvier 2009
Messages: 17
Renommer des fichiers (plusieurs fichiers)

Salut,

J'ai un répertoire avec des noms de fichiers comme ABC20090101AXY.txt, ABC20090102BZ.txt, etc ABC20090101COF.txt Les chiffres représentent les noms de fichiers dans la date. Je tiens à renommer les fichiers à AXY.txt, BZ.txt et COF.txt

J'ai essayé avec ce code.

mon_fichier \u003d date '+ ABC% Y% m% d'
for i in *. txt
faire
mv $ i `echo $ i | sed 's / $ mon_fichier / /' `
fait

Mais son message en donnant

mv: ABC20090101AXY.txt et ABC20090101AXY.txt sont identiques

Can u help me trouver le problème.

Observe,
Shekhar
  #2 (permalink)  
Old 01-02-2009
in2nix4life's Avatar
in2nix4life in2nix4life is offline
Registered User
  
 

Join Date: Oct 2007
Lieu: East Coast
Posts: 58
Si vous avez des Perl installé, ce mai vous aider à:

for x in *. txt; do mv $ x `echo $ x | perl -pe 's / ^ \ w + \ d +(.*)/$ 1 /' »; fait

Hope this helps.
  #3 (permalink)  
Old 01-02-2009
Christoph Spohr Christoph Spohr is offline
Registered User
  
 

Join Date: Sep 2008
Messages: 205
Salut,

variables shell dans''ne sont pas élargies. Donc ici

Code:
mv $i `echo $i | sed 's/$myfile//'`
mon_fic $ ne sera pas remplacé par «date» ABC +% Y% m% d ' ".

Soit utiliser "..." ou pas sed à tous. Shell construit-ins sont assez. Essayez:
Code:
mv $i ${i/200[7-9][0-1][0-9][0-3][0-9]/}
HTH Chris
  #4 (permalink)  
Old 01-03-2009
reddysiva reddysiva is offline
Registered User
  
 

Join Date: Dec 2008
Messages: 11
Essayez cette
mon_fichier \u003d $ (date '+ ABC% Y% m% d')
for i in *. txt
faire
mv $ i `echo $ i | sed "s / $ mon_fichier / /" `
fait

i thik u didnt utiliser le verso des tics ou $ () pour définir la variable mon_fichier.
de dépenser $ mon_fichier usage "au lieu de"

j'ai essayé ce
a \u003d $ (date '+ ABC% Y% m% d')

echo ABC20090103AXY.txt | sed 's / $ a / / g'
ABC20090103AXY.txt

echo ABC20090103AXY.txt | sed "s / $ a / / g"
AXY.txt

echo '$ aABC20090103AXY.txt' | sed "s / $ a / / g"
$ aAXY.txt

echo '$ aABC20090103AXY.txt' | sed 's / $ a / / g'
ABC20090103AXY.txt
  #5 (permalink)  
Old 01-05-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Messages: 2553
Citation:
Posté par shekhar_v4 View Post
Salut,

J'ai un répertoire avec des noms de fichiers comme ABC20090101AXY.txt, ABC20090102BZ.txt, etc ABC20090101COF.txt Les chiffres représentent les noms de fichiers dans la date. Je tiens à renommer les fichiers à AXY.txt, BZ.txt et COF.txt

J'ai essayé avec ce code.

mon_fichier \u003d date '+ ABC% Y% m% d'
for i in *. txt
faire
mv $ i `echo $ i | sed 's / $ mon_fichier / /' `
fait

Mais son message en donnant

mv: ABC20090101AXY.txt et ABC20090101AXY.txt sont identiques

Can u help me trouver le problème.

Observe,
Shekhar
si vous avez Python et vous pouvez l'utiliser, voici un prêt script vous pouvez utiliser. Exemples d'utilisation
Code:
# ls -1
ABC20090101AXY.txt
ABC20090101COF.txt
ABC20090102BZ.txt

# filerenamer.py -p "ABC\d+" -e "" -l "ABC*.txt"
==>>>>  [ /home/ABC20090101COF.txt ]==>[ /home/COF.txt ]
==>>>>  [ /home/ABC20090101AXY.txt ]==>[ /home/AXY.txt ]
==>>>>  [ /home/ABC20090102BZ.txt ]==>[ /home/BZ.txt ]
remove "-l" à la réalité renommer.
  #6 (permalink)  
Old 01-05-2009
freizl freizl is offline
Registered User
  
 

Date d'inscription: novembre 2008
Messages: 3
En supposant que la "ABC20090102" chaîne de longueur fixe.
Et je suis sur sh.

Code:
ls -1 *.txt | awk '{print "mv", $1, substr($1,12) }' | sh

Dernière édition par freizl; au 01.05.2009 04:55 AM..
  #7 (permalink)  
Old 01-05-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Messages: 2553
Citation:
Posté par freizl View Post
En supposant que la "ABC20090102" chaîne de longueur fixe.
Et je suis sur sh.

Code:
ls -1 *.txt | awk '{print "mv", $1, substr($1,12) }' | sh
il n'est pas nécessaire d'utiliser ls et sh, en faisant usage de la variable FILENAME
Code:
awk '{ system("mv " FILENAME" " substr(FILENAME,1,12) )}' ABC*.txt
pas testé.
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 06:29 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0