![]() |
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.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
| Byta namn på flera filer | jayell | Shell-programmering och Skript | 7 | 01-12-2009 04:27 |
| Byta namn på flera filer | Jazmania | Shell-programmering och Skript | 6 | 01-02-2009 02:16 |
| Byta namn på flera filer | dhiren_shah | UNIX for Dummies Frågor & Svar | 2 | 09-12-2008 02:23 |
| Byta namn på flera filer | rmayur | UNIX for Dummies Frågor & Svar | 6 | 02-26-2004 04:40 |
| Byta namn på flera filer | jxh461 | Shell-programmering och Skript | 4 | 04-01-2003 07:25 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Byta namn på filer (flera filer)
Hej,
Jag har en katalog med filer namn som ABC20090101AXY.txt, ABC20090102BZ.txt, ABC20090101COF.txt etc. siffror i filnamnen företräda datum. Jag vill döpa om filerna till AXY.txt, BZ.txt och COF.txt Jag försökte med denna kod. myfile \u003d datum '+ ABC% Y% m% d' för jag i *. txt göra mv $ i `echo $ i | sed 's / $ myfile / / "" gjord Men det ger budskap mv: ABC20090101AXY.txt och ABC20090101AXY.txt är identiska Kanna fullständig hjälpa mig att hitta problemet. Hälsningar, Shekhar |
|
||||
|
Hej,
skal variabler inuti''inte utvidgas. Så här Kod:
mv $i `echo $i | sed 's/$myfile//'` Antingen använder "..." eller nej sed alls. Shell inbyggda ins är nog. Prova: Kod:
mv $i ${i/200[7-9][0-1][0-9][0-3][0-9]/}
|
|
||||
|
Testa här
myfile \u003d $ (date '+ ABC% Y% m% d') för jag i *. txt göra mv $ i `echo $ i | sed "s / $ myfile / /" " gjord Jag thik u didnt använda tillbaka tics eller $ () för att ställa in variabeln myfile. till utgifter $ myfile använda "istället för" Jag försökte detta 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 |
|
||||
|
Citat:
Kod:
# 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 ] |
|
||||
|
Citat:
Kod:
awk '{ system("mv " FILENAME" " substr(FILENAME,1,12) )}' ABC*.txt
|