파일 이름으로 여러 파일 복사

파일 이름으로 여러 파일 복사

900개의 파일이 포함된 디렉터리에서 150개의 파일을 복사해야 합니다. 텍스트 파일에 150개 파일 이름이 모두 들어 있습니다. list.txtLinux에서 어떻게 해야 합니까?

답변1

당신은 이것을 시도 할 수 있습니다rsync

rsync -av --files-from=list_of_filenames.txt SOURCE_DIR DESTINATION_DIR/

대상 디렉터리의 후행 공백을 기록해 두십시오. rsync현재 작업 디렉터리에서 작동하므로 파일 목록의 파일 경로는 해당 디렉터리를 기준으로 해야 합니다.

답변2

파일을 반복하고 다음을 복사하십시오.

while read file; do cp "$file" /path/to/target/dir; done < list.txt

답변3

파일 경로가 포함된 목록이 이스케이프된 경우 다음 명령을 사용할 수 있습니다.

cp -v $(<list.txt) dest/

목록이 너무 길면 다음을 사용하세요.while해결책다른 답변에서 제안한대로.

답변4

나는 이렇게 할 것이다:

for f in `cat filenames.txt`; do cp $f destination; done

destination이를 파일의 대상 위치로 바꿉니다 . 나는 테스트 실행을 통해 내 명령이 올바른지 확인하기 위해 echo나중에 하나를 삽입하는 경우가 많습니다.do

관련 정보