Untuk secara terprogram mengganti nama file N, Anda dapat menggunakan bash
loop sederhana .
#!/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
Jika Anda memiliki kurang dari 5 nama file, maka Anda dapat secara manual mengetikkan semua nama file dan menggunakan rename
perintah seperti yang disarankan oleh solusi di atas . Tetapi bagi saya ... Saya lebih suka solusi terprogram ... bahkan ketika hanya ada 4 file.
ps
jika Anda tidak terbiasa dengan Bash
Ekspansi Parameter (yaitu ${filename// /_}
), Anda dapat menggunakan rename
perintah:
if ((0)); then
mv -v "${filename}" "${filename// /_}"
else
rename ' ' '_' "${filename}"
fi
bash
for loop: lihat solusi saya di sini .