그래픽 파일을 처리하고 mv를 사용하여 순차적으로 이름을 바꾸십시오.

그래픽 파일을 처리하고 mv를 사용하여 순차적으로 이름을 바꾸십시오.

비슷한 질문에 답하는 오래된 질문을 찾고 있었지만 코드를 작동시키는 데 능숙하지 않은 것 같습니다. Bash 대신 zsh를 사용하고 있는데 다른 bash 쉘 스크립트는 잘 돌아가니까 괜찮은 것 같아요.

프롬프트(인라인)에서 이것을 시도했습니다.

$i=107;for i in *.jpg;do mv "$i" "$i.jpg" $i=$((i+1)); done

기본적으로 현재 이름은 다음과 같습니다.

107.jpg 108.jpg 109.jpg 110.jpg

목록이 끝날 때까지 기다리십시오.

seq를 사용하려는 코드에 대해 누군가 도움을 줄 수 있기를 바랍니다.

감사해요,

답변1

인덱스를 증가시키고 파일 이름을 처리하기 위해 두 개의 개별 변수를 사용하려고 합니다.

i=107; for file in *.jpg; do mv "$file" "$((i++))".jpg; done

답변2

사용하고 있으므로 zsh해당 모듈을 사용하여 명시적인 루프를 피할 수 있습니다.zmv

autoload zmv

i=107; zmv -n '*.jpg' '$[i++].jpg'

-n권장 조치에 만족하면 삭제하십시오.

관련 정보