gpt4 book ai didi

linux - 查找和复制文件的脚本

转载 作者:太空宇宙 更新时间:2023-11-04 10:55:54 27 4
gpt4 key购买 nike

我想编写一个脚本来查找文件列表并将它们复制到另一个目录:

for file in `cat ~/fileNames.txt`; do cp $(find $PWD -name $file) $TARGET_DIR; done

打印出 $file 按预期工作,但 find 没有返回我用于调试的以下脚本中的任何输出:

for file in `cat ~/fileNames.txt`; do echo $file; echo $(find $PWD -name $file); done

我知道这些文件在 $PWD 下面的子目录之一中

更新:

使用 -exec 选项仅复制列表中的最后一个文件。

for file in `cat ~/fileNames.txt`; do find $PWD -name "$file" -exec cp -f {} $TARGET_DIR \;; done

使用 while 循环似乎没有什么不同:

cat ~/fileNames.txt | while read file; do echo $file; find $PWD -name "$file" -exec cp -f {} $TARGET_DIR \;; done

有什么想法吗?

最佳答案

试试这个脚本:

while read -r file; do
find . -name "$file"
done < ~/fileNames.txt

复制文件:

while read -r file; do
find . -name "$file" -exec cp {} "$TARGET_DIR" \;
done < ~/fileNames.txt

关于linux - 查找和复制文件的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28774770/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com