|
|
|
|
Google Site
|
|||||||
| Forums | Registrer | Blog | Man Sider | Forum Regler | Links | Albums | FAQ | Brugere | 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. |
![]() |
|
|
Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|||
|
forsøger at omdøbe filerne i dir
Jeg har masse filer i win xp maskine med
123.456 E15 filnavn 112333.E20 filnavn 123412.E11 filnavn du får pic jeg montere at xp maskine andel i linux og forsøge at gøre en masse omdøbe til noget enklere E15 filnavn E20 filnavn og så videre .. Jeg skrev under tænker, at det vil arbejde, men det ikke .. nogen, der kan rådgive? #! / bin / sh ls | egrep "^ [0-9] [0-9] [0-9] [0-9] [0-9]" | mens læse en gøre echo $ a yahoo \u003d «sed 's / ^ [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [.] / / gi' « MV $ a $ yahoo; MV $ yahoo $ a gjort |
| Sponsorerede links | ||
|
|
|
||||
|
Citat:
Code:
autoload -U zmv zmv '[0-9]*.(*)' '$1' |
|
|||
|
Jeg gætter nedenfor er, hvad jeg forsøger at gøre .. og giver det mening?
forsøger at omdøbe en fil .. så jeg gætte MV $ a $ yahoo er ok? og ja nogle fil har 6 cifre efter af rummet eller. Code:
#!/bin/sh
ls |
egrep "^[0-9][0-9][0-9][0-9][0-9]" |
while read a
do
yahoo=`echo $a |sed 's/^[0-9][0-9][0-9][0-9][0-9][0-9][ .]//gi'`
mv $a $yahoo
done
|
|
|||
|
Nedenfor kode ser ud til at arbejde ..
070.625 kbs1.E41.You.Landscape.kor.hdtv.original.avi var den oprindelige filnavn jeg gjorde forsøg på .. Code:
#!/bin/sh
ls |
egrep "^[0-9][0-9][0-9][0-9][0-9]" |
while read a
do
yahoo=`echo $a |sed 's/^[0-9][0-9][0-9][0-9][0-9][0-9][ .]//gi'`
echo $yahoo
mv "$a" "$yahoo"
done
Nu er jeg forsøger at ændre dette, så det vil tage ud kbs1, anden fil kan have MBC, sbs, KBS, kbs1 mbc1 mbc2 kbs2 men nedenfor virkede ikke Code:
#!/bin/sh
ls |
egrep "^[0-9][0-9][0-9][0-9][0-9]" |
while read a
do
yahoo=`echo $a |sed 's/^[0-9][0-9][0-9][0-9][0-9][0-9][ .]//gi' | sed 's/^[kms]b[sc][12]?//gi`
echo $yahoo
mv "$a" "$yahoo"
done
|
|
|||
|
Jeg tror under værker .. Jeg gætter + er ikke understøttet under sed..
Jeg er lidt nervøs for at køre under kommando på mappe, at jeg har så mange avi filer .. Jeg ønsker ikke at ødelægge noget op .. Er der nogen, se nogen fare? Code:
#!/bin/sh
ls |
egrep "^[0-9][0-9][0-9][0-9][0-9]" |
while read a
do
yahoo=`echo $a |sed 's/^[0-9][0-9][0-9][0-9][0-9][0-9][ .]//gi' | sed 's/^[kms]b[cs][^.]*\.//gi'`
echo $yahoo
mv "$a" "$yahoo"
done
|
![]() |
| Bogmærker |
| Tags |
| linux |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| omdøbe en masse filer igen | ajp7701 | Shell Programmering og Scripting | 11 | 03-31-2008 08:36 PM |
| omdøbe filer hjælpe | piltrafa | UNIX for dummyer Spørgsmål & svar | 2 | 10-04-2007 10:47 AM |
| omdøbe mange filer | fsmadi | Sun Solaris | 4 | 04-30-2007 12:27 PM |
| Sådan omdøbe filer? | CompuTelSystem | UNIX for dummyer Spørgsmål & svar | 9 | 05-14-2002 04:28 AM |