背景
我们有一堆文件,在文件夹A中,需要按照文件列表list.txt 复制文件到B中,A中文件和list.txt 中文件均较多
1、文件列表
list.txt类似如下
mnist_test_644.png
mnist_test_2180.png
mnist_test_122.png
mnist_test_2816.png
2、bash
b=`sed ‘r/g’ list.txt`
for i in $b;
do
cp -r “A/”$i “B/”;
done
3、zsh
for i (${(s: :)$(<list.txt)});
do
cp -r “A/”$i “B/”;
done
或者(不推荐,如果txt每行有空格,导致错误,上面兼容更好)
fl=$(<list.txt)
for i (${(f)fl});
do
cp -r “A/”$i “B/”;
done
4、awk 拼接语句管道执行
awk ‘{print “cp -r A/”$1″ B/;” }’ list.txt |sh