О порядке

топ 100 блогов hardsign27.09.2024

Когда вы открываете папку в Проводнике или в FAR’е, файлы отсортированы по алфавиту. Это кажется настолько естественным, что непонятно, как может быть по-другому.

На самом-то деле, конечно, файлы отсортированы как попало, а именно — в том порядке, в котором они попали на диск, но все умеют сортировать список. Все, кроме тех, кому это действительно важно.

В моём древнем пепелаце, менять который на ультрасовременного «китайца» я не готов, стоит магнитола, которая читает с флешки файлы именно в том порядке, в котором они записаны. И если сделать в Проводнике Ctrl+C в исходной папке, а потом Ctrl+V на флешке, то скорее всего воспроизведение альбома начнётся с шестого трека, за которым последуют третий, восьмой и пятый. Поскольку обычно музыканты вкладывают в порядок песен какой-то смысл, хотелось бы избежать такого эффекта.

Поскольку у нас Linux, задача решается скриптом на bash. С рекурсией, всё как мы любим. Желающих насладиться прошу под кат.

#!/bin/bash

# копирует файлы по порядку
# Параметр — целевой каталог


IFS='
'


function copy_files() {
  for f in $(find "${1}" -maxdepth 1 -type f -name "*.mp3" -printf "%f\n" | sort)
  do
    cp "${1}/${f}" "${2}/${f}"
    sleep 0.2
    while [ ! -f "${2}/${f}" ]; do sleep 0.2; done
  done
}


function copy_dir() {
  copy_files "${1}" "${2}"
  for d in $(find "${1}" -maxdepth 1 -mindepth 1 -type d -printf "%f\n" | sort)
  do
    mkdir -p "${2}/${d}"
    copy_dir "$1/${d}" "${2}/${d}"
  done
}


copy_dir . "${1}"

Оставить комментарий

Архив записей в блогах:
сижу дома, выздоравливаю. и тут, о горе! закончились все серии отчаянных домохозяек! вобще все. я в печали. знаю, к кому именно пойти и посмотреть рекомендаций, что смотреть. но я воспользуюсь правом пострадавшей в автокатастрофе и надавлю на вашу жалость: помогите, люди дорогие, кто чем ...
Афганистан    Чечня    Ирак    Anti-flag -- 911 for peace 911 для мираIt's in the ...
Еще один милейший ресторанчик - "Мари Vanna". Располагается на Мыненской набережной, 5 - это на Петроградской, рядом с Петропавловской крепостью, прямо напротив пирсов, где базируются прогулочные суда. Ресторан  "Мари Vanna", Питер, июль 2023 Вид снаружи. ...
Мир сошел с ума. Любому думающему человеку это совершенно очевидно. И вот, этот чокнутый мир, навязывает тебе укол, один за одним, совершенно непонятно чего и зачем. Конечно очевидно что колоться нельзя. Очевидно да не всем. Во все времена, большинство всегда было глупым, так и сейчас. ...
Намедни сидели мы с другом и беседовали о том, о сем. В частности, сказал он, что был недавно в гостях у знакомого в Нью-Джерси и осматривал его новый дом общей площадью 11 тысяч квадратных футов (это, значит, 1000 квадратных метров). "Ему там кажется ...