![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Omdøbe flere filer | jayell | Shell Programmering og Scripting | 7 | 01-12-2009 04:27 PM |
| Omdøbe flere filer | Jazmania | Shell Programmering og Scripting | 6 | 01-02-2009 02:16 PM |
| Omdøbe flere filer | dhiren_shah | UNIX for dummyer Spørgsmål & svar | 2 | 09-12-2008 01:23 AM |
| Omdøbe flere filer | rmayur | UNIX for dummyer Spørgsmål & svar | 6 | 02-26-2004 04:40 AM |
| Omdøbe flere filer | jxh461 | Shell Programmering og Scripting | 4 | 04-01-2003 06:25 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Omdøbning af filer (Multiple files)
Hej,
Jeg har en mappe med filer navne som ABC20090101AXY.txt, ABC20090102BZ.txt, ABC20090101COF.txt osv. cifre i arkivnavne repræsentere dato. Jeg ønsker at omdøbe filerne til AXY.txt, BZ.txt og COF.txt Jeg forsøgte med denne kode. myfile \u003d date '+ ABC% Y% m% d' for i in *. txt gøre MV $ I `echo $ i | sed 's / $ myfile / / »« gjort Men dens give besked MV: ABC20090101AXY.txt og ABC20090101AXY.txt er identiske Kan u hjælpe mig med at finde problemet. Hilsen, Shekhar |
|
||||
|
Hej,
shell variable inde''ikke udvides. Så her Code:
mv $i `echo $i | sed 's/$myfile//'` Enten bruge "..." eller nej sed overhovedet. Shell bygget-ins er nok. Prøv: Code:
mv $i ${i/200[7-9][0-1][0-9][0-3][0-9]/}
|
|
||||
|
Prøv dette
myfile \u003d $ (date '+ ABC% Y% m% d') for i in *. txt gøre MV $ I `echo $ i | sed "s / $ myfile / /" ` gjort Jeg thik u gjorde ikke brug tilbage stikker eller $ () for at indstille variablen myfile. bruge $ myfile bruge "i stedet for ' Jeg forsøgte denne 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:
Code:
# 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:
Code:
awk '{ system("mv " FILENAME" " substr(FILENAME,1,12) )}' ABC*.txt
|
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|