我在filenames.txt中有一个文件名列表,如下所示:
1.sql
2.sql
3.sql
..
..
500.sql
我想在目录及其子目录中搜索文件名,如下所示:
Dir1/1.sql
Dir1/2.sql
Dir2/3.sql
Dir3/4.sql
Dir4/5.sql
Dir4/6.sql
..
..
etc
并将创建的文件复制到另一个目录。
我试过了:
$ for i in `cat filenames.txt`; do `find ./* -type f -printf "%f\n"|grep -ie "$i" && cp -t "$i" /home/user/other_directory/"$i"`; done
但这不起作用。
答案 0 :(得分:1)
因为cp的第一个参数是“$ i”(匹配模式)而不是文件名
find . -type f -iname "$i" -exec cp -t "{}" /home/user/other_directory \;