
Вот файлы в каталоге:
Ford-Mustang-001.jpg
Ford-Mustang-002.jpg
Ford-Mustang-003.jpg
Chevy-Impala-001.jpg
Chevy-Impala-002.jpg
Chevy-Impala-003.jpg
Я хотел бы отсортировать их по подпапкам:
/Mustang
/Impala
решение1
Очевидный ответ:
Просто создайте каталоги и поместите в них файлы.
mkdir Mustang Impala
mv *Mustang*.jpg Mustang/
mv *Impala*.jpg Impala/
Это называетсяподстановка файлов; это особенность оболочки.
Если у вас огромное количество файлов и вам нужно создать много разных каталогов для их размещения, попробуйтеОтвет JJoao.
решение2
использование prename (переименование perl)
prename 'if(/(.+?)-(.+?)-(.*)/){mkdir $2; $_="$2/$_"}' *.jpg
решение3
Я бы разделил имя файла с помощью awk, awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/}
если вы хотите переименовать, вы можете сделать это с помощью программы mv.