-1
for file in *; do
  if [[ -f "$file" ]]; then
    mkdir "${file%.*}"
    mv "$file" "${file%.*}"
  fi
done

Таким образом, у меня будет множество файлов, которые будут выглядеть как «012345_randomnameoffile.pdf», и я хочу отредактировать этот скрипт, чтобы создать имя папки только из чисел и переместить файл в папку после создания, но если эта папка уже существует, просто переместите файл в папку. Любая помощь будет принята с благодарностью.

1 ответ1

1

Нашел это

for file in *; do mkdir -p -- "${file%%_*}" && \
mv -- "${file}" "${file%%_*}/${file#*_}"; done

Это в основном то, что я хотел с дополнительным бонусом переименования файла и удаления префикса номера дела.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .