N dosyalarını programlı olarak yeniden adlandırmak bash
için, döngü için basit bir kullanabilirsiniz .
#!/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'ten daha az dosya adınız varsa, tüm dosya adlarını manuel olarak yazabilir rename
ve yukarıdaki çözümün önerdiği gibi komutu kullanabilirsiniz . Ama benim için ... sadece 4 dosya olsa bile ... programlı çözümü tercih ederim.
ps
Bash
Parametre Genişletme (yani ${filename// /_}
) konusuna aşina değilseniz, şu rename
komutu kullanabilirsiniz :
if ((0)); then
mv -v "${filename}" "${filename// /_}"
else
rename ' ' '_' "${filename}"
fi
bash
for döngüsü kullanın : burada benim çözümüme bakın .