The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar
.
google unix.com



UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen!

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Omdøb en fil navn Aswarth Shell Programmering og Scripting 0 06-04-2008 03:18 PM
omdøbe filen til file.ext.datetime tripsat Shell Programmering og Scripting 2 09-20-2007 05:12 PM
Ikke i stand til at omdøbe filen Manish KU Shell Programmering og Scripting 2 06-27-2007 05:07 AM
File omdøbe redlotus72 UNIX for dummyer Spørgsmål & svar 1 03-09-2006 11:52 AM
Omdøb en del af flere filer sajjad02 Shell Programmering og Scripting 4 02-22-2005 01:30 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 06-28-2005
steve7 steve7 is offline
Registreret Bruger
  
 

Join Date: Jun 2005
Stillinger: 1
Question Hjælp med flere fil omdøbe - skift tilfælde af en del af filnavnet

Hej!

Jeg håber nogen kan hjælpe mig med dette problem:

Jeg har en mappe (/ var / www / file / imgprofil), som indeholder ca 10.000 JPG-filer. De har en navngivningskonvention således:

prefix-date-key-suffix.jpg

de alle har præfikset p-20050608 -
Aaaa er et 4 bogstavkode
endelsen er enten -g / -v / -m eller ingen endelse
filtypen er altid . jpg

prøve:

p-20050608-AFWC-g.jpg
p-20050608-AFWC-m.jpg
p-20050608-AFWC-v.jpg
p-20050608-AFWC.jpg
p-20050608-AFWD-g.jpg
p-20050608-AFWD-m.jpg
p-20050608-AFWD-v.jpg
p-20050608-AFWD.jpg


Mit problem er, at nogle af filerne har 1 eller flere små bogstaver i de 4 bogstaver, så de er sådan her:

p-20050608-Ajyd-g.jpg
p-20050608-Ajyd-m.jpg
p-20050608-Ajyd-v.jpg
p-20050608-Ajyd.jpg
p-20050608-Ajyw-g.jpg
p-20050608-Ajyw-m.jpg
p-20050608-Ajyw-v.jpg
p-20050608-Ajyw.jpg


Nu, Unix er tilfældet følsomme engel, at det er Jeg har brug for at omdanne disse små bogstaver "nøgler" filnavne i store bogstaver, så prøven ville være:

p-20050608-AJYD-g.jpg
p-20050608-AJYD-m.jpg
p-20050608-AJYD-v.jpg
p-20050608-AJYD.jpg
p-20050608-AJYW-g.jpg
p-20050608-AJYW-m.jpg
p-20050608-AJYW-v.jpg
p-20050608-AJYW.jpg


Mens selvfølgelig at holde det lille præfiks (p-) og suffikset (-g /-M /-v) og det lille filtypenavn (. Jpg)

Jeg håber, at dette er klart, og at nogen kan hjælpe med dette,

Tak,

Steve
  #2 (permalink)  
Old 06-28-2005
rahul123_libra rahul123_libra is offline
Registreret Bruger
  
 

Join Date: May 2005
Stillinger: 46
Brug awk

for Gammel_Navn i `ls-l path_to_dir / * jpg`
gøre
new_name \u003d `awk-F" - " 'BEGIN (OFS \u003d"-"} ($ 3 \u003d toupper ($ 3); print $ 0)' $ Gammel_Navn«
mv $ Gammel_Navn $ new_name
gjort

Senest redigeret af rahul123_libra; 06-28-2005 kl 10:37 AM..
  #3 (permalink)  
Old 06-29-2005
vibhor_agarwali vibhor_agarwali is offline
Registreret Bruger
  
 

Join Date: Jan 2005
Posts: 259
Noget hjælp sed:

for filnavn i *. jpg;
gøre
echo $ filnavn | sed -e 's / Aiyd / AIYD / g'
gjort
  #4 (permalink)  
Old 06-29-2005
rahul123_libra rahul123_libra is offline
Registreret Bruger
  
 

Join Date: May 2005
Stillinger: 46
Dette er for 1 tilfælde

Citat:
Oprindeligt Indsendt af vibhor_agarwali
Noget hjælp sed:

for filnavn i *. jpg;
gøre
echo $ filnavn | sed -e 's / Aiyd / AIYD / g'
gjort

Dette er for 1 tilfælde (aiyd) og ikke for alle de muligheder

Isnt it?
  #5 (permalink)  
Old 06-29-2005
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Beliggenhed: Bangalore, Indien
Indlæg: 2.798
Bortset fra det, hvordan vil du ændre navnet på filen med en sed. Det kræver en MV meget specifikt.

-vino
  #6 (permalink)  
Old 06-30-2005
vibhor_agarwali vibhor_agarwali is offline
Registreret Bruger
  
 

Join Date: Jan 2005
Posts: 259
Perfekt Enig,

Men jeg kunne udrette kun, at meget med min viden om sed.
Kan nogen give et generelt med sed.

mv tages for givet.

for filnavn i *. jpg;
gøre
newname \u003d `echo $ filename | sed -e 's / Aiyd / AIYD / g' `
mv $ filename NEWNAME
gjort
  #7 (permalink)  
Old 06-30-2005
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Join Date: oktober 2003
Beliggenhed: -31.96,115.84
Indlæg: 1.409
Citat:
Oprindeligt Indsendt af rahul123_libra
for Gammel_Navn i `ls-l path_to_dir / * jpg`
gøre
new_name \u003d `awk-F" - " 'BEGIN (OFS \u003d"-"} ($ 3 \u003d toupper ($ 3); print $ 0)' $ Gammel_Navn«
mv $ Gammel_Navn $ new_name
gjort
Dette har nogle fejl i denne awk linje. For det første er det forsøgte at behandle de JPG-filen selv snarere end filnavnet.
Også ved hjælp af $ 3 gange kampe mere end de 4 bogstaver (hvor der ikke er suffiks).

Måske prøve:
Code:
for i in *.jpg
do
  eval $(echo $i|awk '{printf "mv %s %s\n", $0,\
    substr($0,1,11) toupper(substr($0,12,4)) substr($0,16)}')
done

Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 11:36 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0