The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
döpa om filen anushree.a Shell-programmering och Skript 3 09-30-2008 05:30
döpa xls-fil systemsb UNIX for Dummies Frågor & Svar 2 10-19-2007 08:50
Hjälp med att döpa om filen! kumarsaravana_s UNIX for Dummies Frågor & Svar 5 05-02-2007 01:45
Byta namn på ett filnamn dbrundrett Shell-programmering och Skript 2 01-06-2004 10:36
Byta namn på en fil med samma namn lachino8 UNIX for Dummies Frågor & Svar 3 07-31-2002 09:52

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 10-13-2008
Larne larne is offline
Registered User
  
 

Join Date: oktober 2008
Inlägg: 11
fil döpa

Hur kan jag byta namn på filer som heter som dessa
Kod:
iq - 000001 - 2008.07.31 - 14.49.47 - location1.bin
iq - 000001 - 2008.07.31 - 14.49.47 - location12.bin
iq - 000008 - 2008.07.31 - 14.52.01 - location500.bin
till
Kod:
iq_2008.07.31_14.49.47_location1.bin
iq_2008.07.31_14.49.47_location12.bin
iq_2008.07.31_14.52.01_location500.bin
Jag vet hur man löst de utrymmen, men jag skränande lista ut hur man hoppar över 00000X del av filnamnen. I cant ersätta den eftersom jag inte vet hur många kommer att vara där? Och jag skränande verkligen klippa det eftersom jag inte vet hur länge filnamnet eftersom platsen kan variera, eller kan jag? Några idéer?
Vänliga hälsningar
  #2 (permalänk)  
Old 10-13-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.315
Prova detta:

Kod:
ls -1 iq*.bin | awk '{print "mv "$0" "$1"_"$5"_"$7"_"$9}'
Om kommandot är korrekt röret resultatet sh:

Kod:
ls -1 iq*.bin | awk '{print "mv "$0" "$1"_"$5"_"$7"_"$9}' | sh
Hälsningar
  #3 (permalänk)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmerare, författare
  
 

Join Date: mars 2007
Ort: Toronto, Kanada
Inlägg: 2361
Citat:
Ursprungligen postat av Franklin52 View Post
Kod:
ls -1 iq*.bin | awk '{print "mv "$0" "$1"_"$5"_"$7"_"$9}'

Det finns inget behov av -1 när produktionen av ls inte kommer till en terminal. I själva verket finns det inget behov av ls alls:

Kod:
printf "%s\n" iq*.bin | awk '{printf  "mv \"$0\" \"%s_%s_%s_%s\"\n", $1, $5, $7, $9}'
(printf är ett skal inbyggda i alla stora tankar.)
  #4 (permalänk)  
Old 10-13-2008
treesloth treesloth is offline
Registered User
  
 

Join Date: oktober 2008
Ort: Orem, Utah
Inlägg: 73
Citat:
Ursprungligen postat av cfajohnson View Post
Det finns inget behov av -1 när produktionen av ls inte kommer till en terminal. I själva verket finns det inget behov av ls alls:
Finns det en anledning till varför

Kod:
printf "%s\n" iq*.bin
är att föredra framför
Kod:
ls iq*.bin
?
  #5 (permalänk)  
Old 10-14-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmerare, författare
  
 

Join Date: mars 2007
Ort: Toronto, Kanada
Inlägg: 2361

printf finns inbyggd i alla stora tankar; ls är alltid ett yttre befäl och därför långsammare.

Det är också overkill, eftersom tanken expanderar jokertecken och sorterar fillistan.
  #6 (permalänk)  
Old 10-14-2008
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Join Date: juni 2007
Plats: Beijing Kina
Inlägg: 1.088
Kod:
echo "iq - 000001 - 2008.07.31 - 14.49.47 - location1.bin" |
nawk -F" - " '{
print $1"_"$3"_"$4"_"$5
}'
Kod:
iq_2008.07.31_14.49.47_location1.bin
  #7 (permalänk)  
Old 10-13-2008
Larne larne is offline
Registered User
  
 

Join Date: oktober 2008
Inlägg: 11
Tack så mycket för en ren lösning
Jag var bara tvungen att hade lägga \ "runt" $ 0 "eftersom filnamnet innehåller blanksteg
Closed Thread

Komihåglista

Taggar
byta namn på filer

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




Alla tider är GMT -4. Klockan är nu 04:25.


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-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0