![]() |
|
|
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 |
| ændre filtypenavnet fra roden og undermapper | Astrid | Shell Programmering og Scripting | 10 | 02-17-2008 07:18 AM |
| udvidelse problem behage hjælp | sharmasdeepti | UNIX for dummyer Spørgsmål & svar | 1 | 10-24-2007 08:29 AM |
| uden forlængelse | adurga | UNIX for dummyer Spørgsmål & svar | 3 | 07-02-2007 01:34 PM |
| Ændre udvidelse | mohan705 | Shell Programmering og Scripting | 4 | 06-30-2007 02:06 PM |
| Hvordan ændrer jeg udvidelse | kswaraj | Shell Programmering og Scripting | 2 | 06-28-2004 09:07 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Hvordan kan du skrive en shell script, som ændrer den forlængelse af alle de filer?
f.eks chext rtf doc hvor. rtf er den oprindelige udvidelse og. doc er den nye udvidelse Er det noget at gøre med basename? har jeg brug for en for loop? Please help! Unix SuperNewbie |
|
||||
|
vil du opdage, at gøre en søgning på disse fora vil give dig flere ideer ... for exampe jeg søgte efter "omdøbe filer", og jeg fik dette link ...
Nem måde at masse omdøbe filer? Jeg har netop ændret et lille stykke kode fra ovenstående link ... Citat:
Vishnu. |
|
||||
|
Jeg kan få scriptet arbejder som følger:
#! / bin / sh for navnet i `ls *. rtf« gøre name1 \u003d `echo $ navn | cut-f 1-d. « MV $ name1.rtf $ name1.doc gjort fungerer fint, men hvordan gør jeg det til at fungere på denne måde: chext 1 2 hvor 1 er den oprindelige udvidelse og 2 er ønsket nye udvidelse? |
|
||||
|
erstatte dem, "rtf" og "doc" med $ 1 og $ 2 i dit script ...
Jeg vil tilføje, at ovennævnte måde ved hjælp af "høstet", vil ikke fungere, hvis du har flere punktummer i dit filnavn ... Code:
#!/bin/sh for name in `ls *.$1` do name1=`echo $name | sed -e "s/^\(.*\)\.$1$/\1\.$2/g"` mv $name $name1 done Code:
#!/bin/sh ls *.$1 | sed -e "s/^\(.*\)\.$1$/\1\.$1 \1\.$2/g" | xargs -n 2 mv -f Vishnu. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|