nixp.ru v3.0

17 октября 2017,
вторник,
09:10:10 MSK

DevOps с компанией «Флант»
Аватар пользователя DimkaS
DimkaS написал 2 января 2008 года в 02:17 (410 просмотров) Ведет себя как мужчина; открыл 84 темы в форуме, оставил 922 комментария на сайте.

Ситуация такая: плеер играет файлы в том порядке, в котором они записаны. А записаны они..как попало. Вот так происходит копирование с сетевого диска:

dimka@debian:~$ cp -R -v /mnt/box/music/Music/311/ /tmp/dmk/
`/mnt/box/music/Music/311/' -> `/tmp/dmk/311'
`/mnt/box/music/Music/311/15 - Track 15.mp3' -> `/tmp/dmk/311/15 - Track 15.mp3'
`/mnt/box/music/Music/311/01 - Track  1-2.mp3' -> `/tmp/dmk/311/01 - Track  1-2.mp3'
`/mnt/box/music/Music/311/19 - Track 19.mp3' -> `/tmp/dmk/311/19 - Track 19.mp3'
`/mnt/box/music/Music/311/09 - Track  9-1.mp3' -> `/tmp/dmk/311/09 - Track  9-1.mp3'

Хочу написать скрипт, который будет вызываться правым кликом на нужной папке и копировать файлы в правильном порядке. С контекстным меню проблем нет — сделал с помощью nautilus-actions. Проблема в скрипте. Он получает полный путь к исходной директории. Надо как-то отсортировать имеющиеся файлы и каталоги и скопировать их в алфавитном порядке. Пока что скрипт выглядит так:

#!/bin/sh
#small script to copy files to player
#player mount point
PLAYER=/media/disk
if (mount|grep $PLAYER); then
        notify-send -t 3000 "Копирую в плеер" "$1"
        cp -v -R $1 $PLAYER
        notify-send -t 3000 "Копирование завершено"
else
        notify-send -t 3000 "Плеер не найден"
fi
exit 0