|
|
|
|
Google Site
|
|||||||
| Forums | Registreer | Blog | Man Pages | Forum Regels | Links | Albums | Veelgestelde vragen | Gebruikers | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
![]() |
|
|
Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|||
|
Citaat:
de laatste -> [! -d $ dir] & & mkdir-p $ dir & & mv $ i $ dir <- wouldnt daadwerkelijk verplaatsen van het bestand of de map bestaat al, dus ik nog een extra regel onder met slechts -> mv $ i $ dir <-- - in de plaats, en dat dat een deel opgelost, zodat het nu, hoewel ik zou denken dit zal nu een foutmelding als de directory wil creëren doesnt bestaan (maar shouldnt fout voor de volgende bestanden - denk ik) Code:
#!/bin/bash -x for i in *.jpg do # yy is $1, mm is $2, dd is $3, hh is $4 set -- `echo $i | sed -e 's/\([0-9][0-9]\)/\1 /g'` dir="$1/$2/$3/$4" [ ! -d $dir ] && mkdir -p $dir && mv $i $dir mv $i $dir done |
| Sponsored Links | ||
|
|
|
|||
|
Citaat:
In plaats van een enkele map 08072511 Ik heb ze graag geneste > 08 -> 07 -> 25 ---> 11 |
|
|||
|
Ik probeerde te 'slim', te veel 'kortsluiting' make me kortsluiting ook. moet er zo uitzien: Code:
for i in *.jpg do # yy is $1, mm is $2, dd is $3, hh is $4 set -- `echo $i | sed -e 's/\([0-9][0-9]\)/\1 /g'` dir="$1/$2/$3/$4" [ ! -d $dir ] && mkdir -p $dir mv $i $dir done U kan het zelfs willen ervoor zorgen *. jpg worden uw Patten door: Code:
for i in [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].jpg do ... Niet zeker weet of bash heeft een elegante manier om te pick-up van uw bestanden in de lus, maar de hierboven [0-9] ... zou het zeker moeten werken voor sh. Wat danmero bijdrage, ik kon het niet laten werken in Solaris bash Code:
$ i=090807060504.jpg
$ d=${i:0:8}
bad substitution
$ echo $SHELL
/bin/bash
$ uname -a
SunOS chihung 5.10 Generic_118833-36 sun4u sparc SUNW,UltraSPARC-IIi-cEngineIn cygwin, hoewel het niet gooien uitzondering, de variabele d is gelijk aan de extractie van de eerste 8 cijfers. We moeten nog steeds hun beurt dat in de directory-pad, voordat we kunnen maken van de hiërarchische structuur Code:
$ i=090807060504.jpg
$ d=${i:0:8}
$ echo $d
09080706
$ uname -a
CYGWIN_NT-5.1 chihung 1.5.25(0.156/4/2) 2007-12-14 19:21 i686 CygwinDanmero, heb ik mis iets |
|
|||
|
Ops, snelle lezing ![]() Code:
for i in *.jpg;do d=.$(sed 's/\(..\)/\/\1/g' <<< ${i:0:8});test -d $d || mkdir -p $d ;mv $i $d;done@ chihung Code:
$ uname -a Linux test 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686 GNU/Linux Laatst gewijzigd door danmero; op 07.24.2008 11:22 PM.. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| creëren directories op hetzelfde vak | vivek_damodaran | HP-UX | 3 | 11-14-2007 03:06 PM |
| Teer en bewegende mappen | stocksj | Solaris | 2 | 11-13-2007 11:33 |
| verplaatsen van mappen op nieuwe directories op meerdere servers | mackdaddy07 | Programmeren en Shell Scripting | 0 | 04-06-2007 12:30 |
| bash / awk scripting helpen scheppen (oude nieuwe gebruikers) | Jukai | Programmeren en Shell Scripting | 2 | 10-17-2006 06:36 |
| het creëren van directories | carlvernon | UNIX voor Dummies Questions & Answers | 3 | 06-01-2006 02:45 PM |