이름 목록을 사용하여 여러 파일의 이름 바꾸기

이름 목록을 사용하여 여러 파일의 이름 바꾸기

이름 목록을 기반으로 번호가 매겨진 여러 파일의 이름을 바꾸려고 합니다.

예:

1.pdf, 2.pdf, …, n.pdf

names.txt한 줄에 값이 있는 이라는 파일도 있습니다 .

Fabio
Joao
n-name

그래서 우리는 가질 것이다

  • 1.pdfFabio.pdf
  • 2.pdfJoao.pdf
  • n.pdfn-name.pdf

이를 달성하는 방법에 대한 아이디어가 있습니까?

답변1

파일이 실제로 "lineNumber.pdf"이면 이 작업을 쉽게 수행할 수 있습니다. 셸에서:

c=0
while IFS= read -r name; do
    ((c++))
    echo mv -- $c.pdf "$name.pdf"
done < names.txt

원하는 대로 작동하는지 확인한 후 명령 echo에서 제거하세요.mv

파일이 많으면 Perl에서 수행하는 것이 훨씬 더 빠릅니다.

perl -lne 'rename("$..pdf","$_.pdf")' names.txt 

관련 정보