Portál AbcLinuxu, 10. května 2025 04:52
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...
$ find /hudba/pisnicky/ -maxdepth 1 -type f -name "*.mp3" | sort | while read s; do cp -v "$s" /mnt/usb_prehravac ; done;
/home/tpikalek/Hudba/arsist/album/title.mp3
zkopírovat do /media/mp3player/arsist/album/title.mp3
ap.
$ 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
#!/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)
[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?![]()
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.