디렉토리의 파일 이름을 파일에 포함된 새 이름으로 변경하는 방법은 무엇입니까?

디렉토리의 파일 이름을 파일에 포함된 새 이름으로 변경하는 방법은 무엇입니까?

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

new_names라는 파일에 새 파일 이름이 포함되어 있습니다.

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}' )

관련 정보