这就是我想要做的:
-在一个文件夹及其所有子文件夹中的austinproductlist.txt文件中搜索第一项
-如果找到该项目,请将其复制到桌面上标记为“目标”的文件夹中
-重复.txt文件中列出的每个项目
我尝试使用终端机
$for i in `cat ~/Desktop/austinproductlist.txt’find ~/desktop/AustinWebImages -type f -name "$i" -exec cp "{}" ~/Desktop/target ;
响应: -bash:意外标记“ find”附近的语法错误
我的AppleScript尝试:
我认为问题在于该命令正在查找确切的文件名,但我需要搜索的是文件名中的字符串。如果文件名包含该字符串,我想将其复制到文件夹“ target”。
答案 0 :(得分:0)
您的脚本只有两个问题:
1)您的for
循环需要do
和done
。
2)-exec
操作在末尾需要反斜杠(\
)
尝试:
#!/bin/bash
for i in `~/Desktop/austinproductlist.txt`;
do find ~/desktop/AustinWebImages -type f -name "$i" -exec cp "{}" target \;
done
如果您想知道后面的反斜杠; -exec
操作将执行每个命令,直到;
为止,由于外壳程序也使用它,因此需要对其进行转义,否则将终止find
命令。
Why are the backslash and semicolon required with the find command's -exec option?