次のように、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ファイルの行に重要なことがありますか?各行のディレクトリは、他の行のディレクトリとは異なる方法で処理する必要がありますか?