이름을 바꾸고 싶은 사진이 많이 있습니다. 나는 그들이 임의의 10 문자가되기를 원합니다. 그것을 할 수있는 방법이 있습니까?
macOS Sierra를 실행 중입니다.
아직 아무것도 시도하지 않았습니다.
이 문제에 대한 무료 솔루션을 선호합니다.
이름을 바꾸고 싶은 사진이 많이 있습니다. 나는 그들이 임의의 10 문자가되기를 원합니다. 그것을 할 수있는 방법이 있습니까?
macOS Sierra를 실행 중입니다.
아직 아무것도 시도하지 않았습니다.
이 문제에 대한 무료 솔루션을 선호합니다.
답변:
다음 스크립트는 이름을 바꿀 사진이 사진 폴더에 있다고 가정합니다. 파일 확장자를 그대로 유지하면서 Pictures 폴더의 모든 파일 이름을 10 자로 된 임의의 문자와 숫자로 바꿉니다.
#!/bin/bash
chars=( {a..z} {A..Z} {0..9} )
function rand_string {
local c=$1 ret=
while((c--)); do
ret+=${chars[$((RANDOM%${#chars[@]}))]}
done
printf '%s\n' "$ret"
}
for file in ~/Pictures/*
do
ext=$(echo ${file} | sed 's,^.*\(\.[^\.]*$\),\1,')
mv "$file" ~/Pictures/"$(rand_string 10)"${ext}
done
이름을 바꿀 파일이 사진 폴더에 없으면 ~/Pictures
적절히 편집하십시오 . 이는 ~
단순히 사용자 홈 디렉토리의 바로 가기입니다. 따라서 ~/Pictures
= /Users/YourUsername/Pictures
. (가) 있습니다 *
에있는 모든 파일과 일치하는 스크립트를 알려줍니다 ~/Pictures
. 또한 당신이 수 변화에 의해 생성 된 문자의 수를 변경할 수 있습니다 10
의를 (rand_string 10)
당신이 원하는 번호를.
이것을 일반 텍스트 파일에 복사하여 붙여넣고 다음과 같이 이름을 바꾸십시오. rename_pics.sh
터미널을여십시오 (위치를 모르는 경우 스포트라이트를 사용하여 찾으십시오)
터미널 유형 chmod 755 rename_pics.sh
에서 Enter 키를 누릅니다
그런 다음 ./rename_pics.sh
터미널을 입력하고 Enter를 눌러 스크립트를 실행하십시오.
sed
마법에 감사드립니다 . 나는 이것을 대답에 포함시켰다.
이것을 텍스트 파일에 복사하여 붙여 넣으십시오.
#!/bin/bash
cd "$1"
for i in ./*; do
mv "$i" $((RANDOM * 32768 + RANDOM))
done
다음 명령을 실행하여 파일을 실행 가능하게 만드십시오 (파일을로 저장했다고 가정 randomlyrename
).
chmod 755 randomlyrename
그리고 파일을 실행하십시오 :
./randomlyrename /path/to/folder/containing/things-to-rename
제공되는 디렉토리의 모든 이름을 10 자리 길이의 임의의 숫자 문자열로 바꿉니다 .