.txt 목록의 파일 이름 바꾸기

.txt 목록의 파일 이름 바꾸기

파일과 해당 MD5 ​​해시가 포함된 .txt 목록이 있습니다.

ab16d9ab5682bb0038c901ad8fc424c0 *file1.doc
28bb8e092301340f19585201166e5b86 *file2.doc
5f53d5e9512a717049185fcf617b8a37 *file3.doc
3c28de2b988ce82b04803671540427e5 *file4.doc
75079fb178347e3f1b3b886589ca6471 *file5.doc

.txt 파일이 디렉터리에 있는 경우:

  1. 파일 이름을 해시로 바꾸는 방법은 무엇입니까?
  2. 해시 값의 이름을 파일 이름으로 바꾸는 방법은 무엇입니까?

답변1

파일 이름을 해시로 바꾸는 방법은 무엇입니까?

while IFS=' ' read <&3 -r hash fileName; do
    echo mv -v -- "${fileName#\*}" "${hash}";
done 3< infile.txt

해시 값의 이름을 파일 이름으로 바꾸는 방법은 무엇입니까?

while IFS=' ' read <&3 -r hash fileName; do
    echo mv -v -- "${hash}" "${fileName#\*}";
done 3< infile.txt

노트echo: 시운전이 만족스러우면 삭제하세요. -v일부 구현에서 지원되는 비표준 확장입니다. mv자세히 설명하세요. mv지원하지 않는다면 제거하세요 .

사용자 프롬프트(있는 경우) infile.txt를 방해하지 않도록 stdin(0) 대신 파일 설명자 3을 엽니다 .mv

관련 정보