Để đổi tên các tệp N theo chương trình, bạn có thể sử dụng một bash
vòng lặp đơn giản .
#!/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
Nếu bạn có ít hơn 5 tên tệp, thì bạn có thể nhập thủ công tất cả tên tệp và sử dụng rename
lệnh như giải pháp trên gợi ý. Nhưng đối với tôi ... tôi thích giải pháp lập trình hơn ... ngay cả khi chỉ có 4 tệp.
ps
nếu bạn không quen với Bash
Mở rộng tham số (nghĩa là ${filename// /_}
), bạn có thể sử dụng rename
lệnh:
if ((0)); then
mv -v "${filename}" "${filename// /_}"
else
rename ' ' '_' "${filename}"
fi
bash
vòng lặp for: xem giải pháp của tôi ở đây .