2017-10-02 13 views
0

폴더 이름이 들어있는 텍스트 파일의 내용을 읽을 수있는 스크립트를 원하고 해당 폴더에서 특정 폴더로 폴더를 이동합니다. 이 오류를주는 다른 폴더로for 루프에서 파일 이동

 #!/bin/bash 
    for i in $(cat /folder/collected/folders.txt) 
     do 
     mv /fromfilelocation/$i /folder/Collected/ 
     done 

이 스크립트는 부분적으로, 텍스트 파일의 마지막 폴더에 복사합니다대로 작동 "불가능 : 발견되지 않은 데이터 또는 디렉터리"그러나 여기 내 스크립트입니다 폴더가 있고 오류에 따라 폴더 디렉토리가 올바르게 표시됩니다.

제대로 작동하려면 어떻게해야합니까 ??

+1

는 파일 folders.txt 전체 경로 또는 상대 경로를 포함 하는가? – hovanessyan

+0

파일 이름에 공백이나 특수 문자가 있습니까? – Thomas

+0

여기에 "cat /folder/collected/folders.txt | 각각을 읽는 동안 mv/fromfilelocation/$ each/folder/Collected; done;"을 테스트하는 한 개의 라이너가 있습니다. – hovanessyan

답변

-1

사용 while 루프 대신

while read i; do 
    mv fromfilelocation/"$i" /folder/Collected/ 
done </folder/collected/folders.txt 
+1

변수를 인용하십시오 –

+0

지적 해 주셔서 감사합니다! –

+0

@BhawandeepSingla while 루프는 당신이 말한 방식대로 시도했지만 내부의 폴더가 아닌 전체 디렉토리를 복사합니다. – mido