4

У меня есть много отдельных файлов:

/File 01.txt /Picture 02.png

Есть ли команда терминала, которая будет делать это, поэтому я в конечном итоге с этим:

/File 01/File 01.txt /Picture 02/Picture 02.png/

Я на Mac в OS X 10.11.3

Это звучит очень просто, но я довольно новичок в Mac и не знаю, как Terminal перешел из Windows.

1 ответ1

5

Перед началом работы я настоятельно рекомендую сделать резервную копию папки, в которой вы пытаетесь это сделать.

cd в папку, над которой вы пытаетесь работать, а затем:

for file in *; do
  if [[ -f "$file" ]]; then
    mkdir "${file%.*}"
    mv "$file" "${file%.*}"
  fi
done
  1. Зацикливать все (*) файлы в текущей папке.
  2. создать папку (mkdir) из файла без его расширения ${file%.*}
  3. переместите (mv) файл в эту папку.

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

Вы можете либо набрать это в терминале, либо создать файл сценария.

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