Для програмного перейменування N файлів можна використовувати простий bash
цикл.
#!/bin/bash
set -eux
# find all your files by using a `grep` pattern
pattern="insert_filename_pattern_here" # you must enter your filename pattern here
# create an array of filenames and split on newlines
IFS=$'\n'
tmp=($(ls | grep ${pattern}))
unset IFS
# for each filename
for filename in "${tmp[@]}"; do
# rename the filename to use "_" character instead of a " " character
mv -v "${filename}" "${filename// /_}"
done
Якщо у вас менше 5 імен файлів, ви можете вручну ввести всі назви файлів і використовувати rename
команду, як запропоноване вище рішення . Але для мене ... я віддаю перевагу програмному рішенню ... навіть коли є лише 4 файли.
пс
якщо ви не знайомі з Bash
розширенням параметра (тобто ${filename// /_}
), ви можете скористатися rename
командою:
if ((0)); then
mv -v "${filename}" "${filename// /_}"
else
rename ' ' '_' "${filename}"
fi
bash
цикл for: див. моє рішення тут .