使用终端复制文件,Mac
Posted
技术标签:
【中文标题】使用终端复制文件,Mac【英文标题】:Copying files using Terminal, Mac 【发布时间】:2012-05-02 05:30:18 【问题描述】:我正在尝试使用终端将文件从一个文件夹复制到另一个文件夹。我有一个文件夹,里面有数千个文件,我有一个 txt 列表,里面有数千个与之匹配的文件名。我只需要将 txt 列表中的文件复制到新位置。
我在网上找到了这个并为我的磁盘修改了它,但它不起作用。今天是我第一次打开终端,所以我不知道我在做什么,如果这甚至接近我需要的。任何建议将不胜感激。
#!/bin/bash
target="/Users/DataSourceSTL/Desktop/Photos"
destination="/Users/DataSourceSTL/Desktop/Test"
fnames=”/Users/DataSourceSTL/Desktop/Untitled.txt”
for info in $fnames; do
cp $target/$info $destination/
exit 1
echo "copying $info"
done
echo "done"
【问题讨论】:
确保使用正确的双引号。对于fnames
,您似乎使用了错误的。您使用的是哪个文本编辑器? TextEdit 将是一个不错的选择。
【参考方案1】:
试试这个:
for info in `cat $fnames`; do
cp -v "$target/$info" "$destination/"
done
echo "done"
【讨论】:
您想将参数引用到cp
,以防任何名称中包含空格。
@alesplin & Ken Thomases : 真的!
请注意$info
中的名称不会包含空格;外壳会注意这一点。路径 $target
和 $destination
通常可能包含空格,尽管在此处的具体示例中,这些名称是无空格的。以上是关于使用终端复制文件,Mac的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SSH 和 MAC OS X 终端跨计算机复制文件 [关闭]