У меня есть этот большой каталог из 1000+ файлов из набора данных для машинного обучения, но эти файлы имеют разные качества (картинки с розами или дамы, чтобы они были простыми). У меня есть этот CSV-файл с именами файлов каждого из этих элементов в наборе данных, а также их категоризацией (розы против ромашки). Как я могу прочитать этот CSV-файл и сообщить файловому менеджеру переместить все розовые фотографии в один каталог и все ромашки в другой каталог? Должен ли я использовать скрипт Bash, или это то, что уже встроено в Nautilus?
Вот скрипт bash, который должен делать то, что вы хотите:
#!/bin/bash
fileNameIndex=0 # set to index of file name
categoryIndex=1 # set to index of category
IFS=",""$IFS" # add comma to break lines at commas
while read -a tokens; # read a line and break it into tokens separated by commas
do
file=${tokens[$fileNmeIndex]} # get the file name
category=${tokens[$categoryIndex]} # get the category
if [ ! -d $category ]; then # check if the category directory exists
mkdir $category; # make the category directory
fi
mv $file $category # move the file into the category directory
done
Сохраните этот скрипт в файле, возможно, do_moves.sh, отредактируйте его, чтобы установить правильные значения для fileNameIndex и categoryIndex, затем запустите его как:
./ do_moves.sh & lt; data.csv
, где data.csv - ваш CSV-файл. Перед запуском убедитесь, что у вас нет файлов с тем же именем, что и категория.