![디렉토리에 있는 파일 이름을 파일에 포함된 새 이름으로 어떻게 변경합니까? [복사]](https://linux55.com/image/101071/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%20%EC%9E%88%EB%8A%94%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EC%83%88%20%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%B3%80%EA%B2%BD%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
변경해야 할 파일 이름으로 가득 찬 디렉토리가 있습니다. 단순히 접미사나 접두사의 이름을 바꿀 필요는 없고 파일 이름을 완전히 바꿀 필요가 있습니다.
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}' )