Несколько методов изменения всех имен файлов в каталоге с помощью Bash

Чтобы изменить все имена файлов в каталоге с помощью Bash, вы можете использовать несколько методов. Вот несколько примеров:

Метод 1: использование цикла for и команды «mv»

for file in /path/to/directory/*; do
  if [ -f "$file" ]; then
    new_name="${file%.*}_new.${file##*.}"
    mv "$file" "$new_name"
  fi
done

Способ 2: использование команды «переименовать» (если доступна)

rename 's/(.*)/$1_new/' /path/to/directory/*

Команда

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

Способ 3: использование команд «найти» и «mv»

find /path/to/directory -type f -exec sh -c 'mv "$0" "${0%/*}/${0##*/}_new"' {} \;

Метод 4. Использование цикла while и команды “mv”

ls /path/to/directory | while read -r file; do
  mv "/path/to/directory/$file" "/path/to/directory/${file}_new"
done

Обратите внимание, что перед запуском любой из этих команд важно понять, что они делают, и убедиться, что у вас есть резервная копия файлов на случай, если что-то пойдет не так. Кроме того, обязательно замените «/path/to/directory» фактическим путем к целевому каталогу.