![如何使用脚本在 Mac OS 中用新文件替换位于不同位置的多个旧文件?](https://linux22.com/image/145656/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC%E5%9C%A8%20Mac%20OS%20%E4%B8%AD%E7%94%A8%E6%96%B0%E6%96%87%E4%BB%B6%E6%9B%BF%E6%8D%A2%E4%BD%8D%E4%BA%8E%E4%B8%8D%E5%90%8C%E4%BD%8D%E7%BD%AE%E7%9A%84%E5%A4%9A%E4%B8%AA%E6%97%A7%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我的文件夹 A 中有一些新文件。我想用新文件替换位于不同文件夹(例如 B、C、D)中的旧文件。有没有办法通过在 Mac OS 中编写一些脚本来一次性完成此操作?
例如,新文件位于/Updatede
,并且名称如下:flower1.jpg
、flower2.jpg
、flower3.jpg
。
现在我想替换以下旧文件
/Workarea/AssetGroupOne/flower1.jpg
/Workarea/AssetGroupTwo/flower2.jpg
/Workarea/AssetGroupThree/flower3.jpg
/Workarea/AssetGroupSix/flower1.jpg
我想具体一点,比如/Updated/flower1.jpg
应该只替换而/Workarea/AssetGroupOne/flower1.jpg
不是/Workarea/AssetGroupSix/flower1.jpg
注意:我还有更多文件,但为了简洁起见,我没有在此处列出所有文件。
答案1
尝试这个,
#!/bin/bash
cd /Updated &&
for i in *
do
find /Workarea -name "$i" -exec cp -f /Updated/"$i" {} \;
done
答案2
#!/bin/bash
cd /Updated
mv flower1.jpg /Workarea/AssetGroupOne/
mv flower2.jpg /Workarea/AssetGroupTwo/
mv flower3.jpg /Workarea/AssetGroupThree/
但我想知道,编写脚本比仅仅在 Finder 中移动文件(或在命令行中输入上面的命令)需要更长的时间。