Как отсортировать полный каталог картинок в подкаталоги на основе имени изображения? - PullRequest
0 голосов
/ 04 января 2012

Я хочу взять все файлы в /media/mdrive/dump/:

1COD-234355.jpg
MAK-LXT218.jpg
ZIR-CON145.jpg

и создать и отсортировать их в следующие каталоги:

/media/mdrive/dump/1/1COD-234355.jpg
/media/mdrive/dump/M/MAK-LXT218.jpg
/media/mdrive/dump/Z/ZIR-CON145.jpg

Как мне это сделать?

Ответы [ 2 ]

4 голосов
/ 04 января 2012

Этот скрипт принимает каталог в качестве первого аргумента и выполняет то, что вам нужно:

#!/bin/bash

DIR="$1"

if [ -z "$DIR" ]; then
    echo >&2 "Syntax: $0 <directory>"
    exit 1
fi

if [ ! -d "$DIR" ]; then
    echo >&2 "\"$DIR\" is not a directory"
    exit 1
fi

cd "$DIR"

for file in *.jpg *.JPG; do
    first=${file::1}
    mkdir -p $first && mv $file $first/;
done

head -c xx вернет первые xx символов своего ввода (здесь имя файла). mkdir -p пропустит создание каталога, если оно уже существует.

0 голосов
/ 18 октября 2013

для создания двух каталогов вы можете попробовать что-то вроде

    dir "/media/mdrive/dump/1/" :: CD would also work here 
    mkdir folder 1
    mkdir folder 2 

отсюда, я думаю, что вы можете продолжить свои заявления IF и так далее. все, что вам нужно сделать, это установить команды dir с помощью прямого пути, чтобы отгадать. Затем для проверки каждого просто сделайте:

    start explorer.exe "the folder's path here" 

должен открыть папку для просмотра файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...