.txtファイルに含まれるリストに基づいてフォルダ名を検索する

.txtファイルに含まれるリストに基づいてフォルダ名を検索する

次のように、1行に150の異なるID番号を含む.txtファイルがあります。

12345
15876
19643
12586

.txtファイルと同じディレクトリに300個のフォルダがあり、名前が.txtファイルにリストされている名前と一致するフォルダだけがNew_Folderというフォルダにコピーしたいと思います。これを行う簡単な方法はありますか?

答え1

1つの方法は次のとおりです。xargs

xargs -a list.txt cp -t path/to/New_Folder/ -R --

シェルループを使用するには、while次のようにします。

while IFS= read -r dir; do
  cp -t path/to/New_Folder -R -- "$dir"
done < list.txt

答え2

それは次のとおりです。

for dir in `cat textfile.txt`; do
    cp -a "$dir" New_Folder/
    echo Copied $dir
done

おそらく?

注:textfile.txtのディレクトリ名にスペースが含まれていると、操作が難しくなります。

さらに:.txtファイルの行に重要なことがありますか?各行のディレクトリは、他の行のディレクトリとは異なる方法で処理する必要がありますか?

関連情報