Go Back   UNIX och Linux Forum > Upp Forum > UNIX for Dummies Frågor & Svar
.
Google Site



UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna!

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 08-01-2008
Registered User
 

Join Date: Aug 2008
Inlägg: 2
Advanced File Rename hjälp

Så jag är så ny att jag inte ens kan kalla mig en UNIX-användare. Jag har en fallenhet för programing, men jag vet inte språket. Hursomhelst, här är mitt problem:

Jag måste byta namn på ett parti av filer som ser ut så här:
2001_0001.asc
2001_0002.asc
.
.
.
2006_0548.asc

Namnen är en dag-kod, men de måste ändras så att 2001_0001.asc blir 2000_183.asc, 2001_0184 blir 2001_001 och 2006_0548.asc blir 2006_365.asc.

så tycker jag att det ska börja så här:

för jag i `ls *"
göra

då det blir lite oklar
Jag kommer nu att konvertera till semi-programing tala

split aaaa_bbbb.asc i aaaa och bbbb
tolka strängar aaaa och bbbb nummer x och y respektive
om y - 183 <1,
sedan x '\u003d x - 1 och y' \u003d y - 183 + 365,
else x \u003d x och y '\u003d y - 183.
omvandla tal x och y för att strängar aaaa "och bbb" (notera de tre siffrorna
i bbb så att y '\u003d 1 kommer att konvertera till bbb "\u003d 001)
byta namn på filen i att aaaa'_bbb ". asc

någon hjälp skulle uppskattas
tack,
-TT
Sponsrade länkar
  #2 (permalänk)  
Old 08-01-2008
rubin's Avatar
Rubin rubin is offline Forum Advisor  
Registered User
 

Join Date: Nov 2007
Inlägg: 321

Kod:
for i in *.asc
 
 do 
   
   a=${i%_*}; b=${i#*_}; c=${b%.*}
 
    if [ $(expr $c - 183) -lt 1 ]
      then
         x=$(expr $a - 1); y=$(printf "%03s\n" $(expr $c - 183 + 365))
         mv $i $x"_"$y.asc
      else 
         x=$a; y=$(printf "%03s" $(expr $c - 183))
         mv $i $x"_"$y.asc
    fi
 
done

Prova först med echoOch sedan göra ett byta namn med mv.
Sponsrade länkar
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är Av


Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Byt namn på ett filnamn Aswarth Shell-programmering och Skript 0 06-04-2008 03:18
Inte kunna byta namn på filen Manish KU Shell-programmering och Skript 2 06-27-2007 05:07
Arkiv byta namn redlotus72 UNIX for Dummies Frågor & Svar 1 03-09-2006 11:52
hur man kan byta namn på en fil före och efter en ftp? forevercalz Shell-programmering och Skript 2 10-28-2005 10:19
Hjälp med flera fil Byt namn - förändringen gäller en del av filnamnet steve7 UNIX for Dummies Frågor & Svar 7 06-30-2005 02:41



Alla tider är GMT -4. Klockan är nu 05:21.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant webbadresser från vBSEO 3.2.0