Linux предоставляет множество инструментов и команд для работы с файлами и папками. Иногда вам может понадобиться сортировать файлы в папках по дате, сортировать файлы по имени, по типу файла. В этой статье мы узнаем, как сортировать файлы по папкам в Linux.
Как сортировать файлы по папкам в Linux
Мы рассмотрим несколько вариантов использования сортировки файлов по папкам в Linux. Для этого мы будем использовать простой shell-сценарий.
Допустим, у вас есть куча файлов в папке /home/user/data. Вот простой shell-скрипт для сортировки файлов по имени в Linux.
1 2 3 4 5 6 7 8 | cd /home/user/data for f in *; do if [ -f "$f" ]; then mkdir -p "$f" mv "$f" "$f" fi done cd - |
В приведенном выше коде мы в основном переходим в папку /home/user/data. Как только мы окажемся внутри папки, мы используем цикл for для перебора файлов по одному. Для каждого файла мы выполняем команду mkdir -p, чтобы создать отдельную папку по имени файла, если она еще не существует.
Затем мы выполняем команду mv, чтобы переместить текущий файл в эту папку. Как только мы сделаем это для всех файлов, мы вернемся в предыдущую папку.
Если вы не хотите создавать отдельную папку для каждого файла, а только для первой буквы его имени, вы можете изменить приведенный выше код, как показано ниже. В этом случае мы извлекаем первую букву имени файла, чтобы создать папку и переместить в нее файл.
1 2 3 4 5 6 7 8 | cd [yourdir] for f in *; do if [ -f "$f" ]; then mkdir -p "${f:0:1}" mv "$f" "${f:0:1}" fi done cd - |
Заключение
В этой статье мы узнали, как сортировать файлы в папках по их имени. Вы можете настроить этот код в соответствии с вашими требованиями.