0이 아닌 시작 인덱스에서 파일 이름을 일괄 변경합니다.

0이 아닌 시작 인덱스에서 파일 이름을 일괄 변경합니다.

두 개의 데이터세트를 병합할 예정 40000X-????.mrc인데 둘 다 0000. 시작할 데이터 세트 40000X-0013.mrc등).

온라인에서 일부 부분 답변을 찾았으므로 내 코드는 다음과 같습니다.

#!/usr/bin/env bash
c=12
for f in *.mrc ; do
  mv -v "$f" "40000X-$(printf '%0*d' 4 $c).mrc"
  let c=c+1
done

예상되는 결과:12부터 시작하여 모든 파일이 처리될 때까지 계속해서 모든 파일의 이름을 순서대로 바꿉니다.

실제 결과:-v옵션 때문에 실제로는 모든 파일의 이름을 바꿨다고 주장하는데, 디렉터리를 확인해 보면 마지막 12개 파일만 남아 있는 것으로 보입니다. 테스트에서는 시작 인덱스에 따라 달라집니다 c. 변경하면 더 많이 반복되지만 시작 인덱스가 엉망이 됩니다.

어떤 도움이라도 대단히 감사하겠습니다.

관련 정보