The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

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
ändra filändelsen från roten och underkataloger Astrid Shell-programmering och Skript 10 02-17-2008 07:18
förlängning problem vänligen hjälp sharmasdeepti UNIX for Dummies Frågor & Svar 1 10-24-2007 07:29
utan förlängning adurga UNIX for Dummies Frågor & Svar 3 07-02-2007 12:34
Ändra förlängning mohan705 Shell-programmering och Skript 4 06-30-2007 01:06
Hur ändrar jag förlängning kswaraj Shell-programmering och Skript 2 06-28-2004 08:07

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 11-14-2002
prkwan prkwan is offline
Registered User
  
 

Join Date: Nov 2002
Location: London UK
Inlägg: 5
Question Hur förändras förlängning?

Hur kan du skriva ett skalskript som förändringen utvidgningen av alla filer?

t.ex.

chext rtf doc

där. rtf är originalet förlängning
och. doc är den nya förlängning

Är det något att göra med basename?
behöver jag en till loop?
Please help!

Unix SuperNewbie
  #2 (permalänk)  
Old 11-14-2002
Vishnu Vishnu is offline
Registered User
  
 

Join Date: Aug 2002
Ort: Marlboro, MA
Inlägg: 114
kommer du att inse att göra en sökning på dessa forum skulle ge dig fler idéer ... för exampe Jag sökte på "byta namn på filer" och jag fick den här länken ...

Enkelt sätt att massa byta namn på filer?

Jag har bara ändrat en liten bit kod från länken ovan ...

Citat:
för namn i "ls *. rtf"
göra
name1 \u003d `echo $ name | sed -e 's / ^ \ (.* \) \. rtf $ / \ 1 \. doc / g' `
mv $ name $ name1
gjord
Skål!
Vishnu.
  #3 (permalänk)  
Old 11-15-2002
prkwan prkwan is offline
Registered User
  
 

Join Date: Nov 2002
Location: London UK
Inlägg: 5
Jag kan få skriptet att arbeta på följande sätt:

#! / bin / sh
för namn i "ls *. rtf"
göra
name1 \u003d `echo $ name | cut-f 1-d. "
mv $ name1.rtf $ name1.doc
gjord

fungerar bra, men hur gör jag det att fungera så här:

chext 1 2

där 1 är den ursprungliga förlängning och 2 är viljan ny förlängning?
  #4 (permalänk)  
Old 11-15-2002
Vishnu Vishnu is offline
Registered User
  
 

Join Date: Aug 2002
Ort: Marlboro, MA
Inlägg: 114
ersätta dem "rtf" och "doc" med $ 1 och $ 2 i skriptet ...

Jag bör tillägga att ovanstående sätt med "cut" kommer inte att fungera om du har flera punkter i filnamnet ...

Kod:
#!/bin/sh 
for name in `ls *.$1` 
do 
name1=`echo $name | sed -e "s/^\(.*\)\.$1$/\1\.$2/g"` 
mv $name $name1 
done
eller en mer kompakt och snabbare version som jag föredrar ...

Kod:
#!/bin/sh 
ls *.$1 | sed -e "s/^\(.*\)\.$1$/\1\.$1 \1\.$2/g" | xargs -n 2 mv -f
Skål!
Vishnu.
  #5 (permalänk)  
Old 11-16-2002
prkwan prkwan is offline
Registered User
  
 

Join Date: Nov 2002
Location: London UK
Inlägg: 5
tack Vishnu!
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




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


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