Portál AbcLinuxu, 27. dubna 2024 03:50


Dotaz: Pořadí kopírování souborů

1.2.2007 16:16 tom112233 | skóre: 21 | blog: tpikalek | Brno
Pořadí kopírování souborů
Přečteno: 261×
Odpovědět | Admin
Jde nějak udělat, aby se při kopírování pomocí cp -r postupovalo podle abecedy? Nešlo by to nějak nastavit i v aplikaci Nautilus? Normálně je pořadí nějak náhodné, nepodařilo se mi najít v tom nějaký pořádek...

Můj MP3 přehrávač totiž řadí soubory podle času přidání a já je chci podle abecedy...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.2.2007 17:24 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi by to šlo i lépe ...
$ find /hudba/pisnicky/ -maxdepth 1 -type f -name "*.mp3" | sort | while read s; do cp -v "$s" /mnt/usb_prehravac ; done;
1.2.2007 17:53 tom112233 | skóre: 21 | blog: tpikalek | Brno
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
Až na jednu maličkost - potřebuji, aby se zachovaly složky, tj. /home/tpikalek/Hudba/arsist/album/title.mp3 zkopírovat do /media/mp3player/arsist/album/title.mp3 ap.
1.2.2007 19:08 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
Tak si na to udělej skriptík, vodítko už más ...
1.2.2007 19:17 tom112233 | skóre: 21 | blog: tpikalek | Brno
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
Právě nad tím dumám...už asi hodinu :-)
1.2.2007 19:19 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
$ cd /home/tpikalek/Hudba/
# vytvori adresare
$ find * -maxdepth 10 -type d | sort | while read s; do mkdir -vp "/media/mp3player/$s"; done;
# zkopiruje soubory
$ find * -maxdepth 10 -type f -name "*.mp3" | sort | while read s; do cp -v "$s" "/media/mp3player/$s"; done;
Vyzkoušej, jestli jsem se nespletl. Když to půjde, hodnotné dary vítány ;-) .
1.2.2007 19:44 tom112233 | skóre: 21 | blog: tpikalek | Brno
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
Světe, div se, ono to funguje! Díky moc.

Mám tu navíc 54rychlostní CD-ROM mechaniku, ISA modem, ISA zvukovku a spoustu dalších krámů na vyhození...můžete se pro něco stavit :-)
1.2.2007 19:55 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
Všechno beru :-)

No radši ne, i když ty CDRomky by bylo škoda ... , ta by se mohla hodit :-)
2.2.2007 04:14 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
Tato verze se nenechá zastrašit divokými názvy souborů. Mimo to prochází strom pouze jednou a taky jsem se chtěl vyhnout tomu, abych měnil pracovní adresář (proto ty čachry s cestami). Bere to dva parametry: zdrojový adresář, cílový adresář.
#!/usr/bin/env python
import os, shutil, sys
srcdir = os.path.realpath(sys.argv[1])
destdir = sys.argv[2]

srchead, srctail = os.path.split(srcdir)
srcheadlen = len(srchead)
newdir = os.path.join(destdir, srctail)
print 'creating dir', newdir
os.mkdir(newdir)
for root, dirs, files in os.walk(srcdir):
    relroot = root[srcheadlen + 1:]
    for dirname in sorted(dirs):
        newdir = os.path.join(destdir, relroot, dirname)
        print 'creating dir: ', destdir, relroot, dirname, newdir
        os.mkdir(newdir)
    for filename in sorted(files):
        frompath = os.path.join(root, filename)
        topath = os.path.join(destdir, relroot, filename)
        print 'copying', frompath, topath
        shutil.copy(frompath, topath)
1.2.2007 17:58 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
[ivok@zero test]$ # mam takovou strukturu ...
[ivok@zero test]$ find
.
./2
./2/A.mp3
./2/B.mp3
./2/C.mp3
./2/Z.mp3
./1
./1/1a
./1/1a/Y.mp3
./1/1b
./1/1b/X.mp3
./1/1b/V.mp3
./1/1b/W.mp3
./1/Z.mp3
[ivok@zero test]$ # cp -rv ... to zkopiruje blbe, jak pise tazatel ...
[ivok@zero test]$ cp -rv * ~/test2
`1' -> `/home/ivok/test2/1'
`1/1a' -> `/home/ivok/test2/1/1a'
`1/1a/Y.mp3' -> `/home/ivok/test2/1/1a/Y.mp3'
`1/1b' -> `/home/ivok/test2/1/1b'
`1/1b/X.mp3' -> `/home/ivok/test2/1/1b/X.mp3'
`1/1b/V.mp3' -> `/home/ivok/test2/1/1b/V.mp3' 
`1/1b/W.mp3' -> `/home/ivok/test2/1/1b/W.mp3'
`1/Z.mp3' -> `/home/ivok/test2/1/Z.mp3'
`2' -> `/home/ivok/test2/2'
`2/A.mp3' -> `/home/ivok/test2/2/A.mp3'
`2/B.mp3' -> `/home/ivok/test2/2/B.mp3'
`2/C.mp3' -> `/home/ivok/test2/2/C.mp3'
`2/Z.mp3' -> `/home/ivok/test2/2/Z.mp3'
[ivok@zero test]$ # tohle to nezkopiruje vubec ....
[ivok@zero test]$ find . -maxdepth 1 -type f -name "*.mp3" | sort | while read s; do cp -v "$s" ~/test2 ; done;
[ivok@zero test]$ # ALE JAK TO MA VYPADAT SPRAVNE? :-)
1.2.2007 19:06 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Pořadí kopírování souborů
tohle to nezkopiruje vubec ....
Bodejť by jo, to je snad jasny ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.