2017-10-02 3 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;を実行する1つのライナーがあります – hovanessyan

答えて

-1

使用whileループではなく

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

変数を引用してください –

+0

ありがとうございました! –

+0

@BhawandeepSingla私はあなたが言ったようにwhileループを試しましたが、内部のフォルダではなくディレクトリ全体をコピーしています – mido

関連する問題