중복 가능성:
일괄 이름 바꾸기 파일
다음과 같은 이름의 파일이 6개 있다고 가정해 보겠습니다.
1.a, 1.b, 1.c
2.a, 2.b, 2.c
여기서 a, b, c는 sh, txt 등과 같은 파일 확장자입니다.
1.a, 1.b, 1.c
이제 say 및 를 사용하여 5.a, 5.b, 5.c
파일 이름을 바꾸고 싶습니다 . 여기 및 는 모두 사용자가 제공한 입력입니다.2.a, 2.b, 2.c
6.a, 6.b and 6.c
2
6
답변1
답변2
이 문제를 해결하는 bash 함수는 다음과 같습니다.
do_rename() {
oldnum=$1 # assign parameters for clarity
newnum=$2
for f in "$oldnum".*; do # get all files matching the old number
mv "$f" "$newnum"."${foo##*.}" # use a parameter expansion to get the exetension of the current filename
done
}
답변3
일방 통행:
#!/bin/bash
for num in 1 2
do
read -p "Enter new val for files starting with $num :" val
for i in ${num}*.[abc]
do
ext=${i##*.}
mv $i "$val.$ext"
done
done