디렉토리에 있는 파일 이름을 파일에 포함된 새 이름으로 어떻게 변경합니까? [복사]

디렉토리에 있는 파일 이름을 파일에 포함된 새 이름으로 어떻게 변경합니까? [복사]

변경해야 할 파일 이름으로 가득 찬 디렉토리가 있습니다. 단순히 접미사나 접두사의 이름을 바꿀 필요는 없고 파일 이름을 완전히 바꿀 필요가 있습니다.

new_names.txt라는 파일에 새 파일 이름을 포함시켰습니다.

new_names에 포함된 이름을 읽고 디렉터리에 있는 파일의 이름을 바꾸려면 어떤 명령을 사용할 수 있습니까?

답변1

이를 사용하여 명령 목록을 생성할 수 있습니다 mv.

paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}'

괜찮아 보이면 다음을 사용하여 실행할 수 있습니다.

cd /path/to/files
$( paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}' )

관련 정보