使用终端复制文件,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 终端跨计算机复制文件 [关闭]

mac系统无法复制文件到硬盘U盘的解决方法

mac 电脑中 Android studio 复制文件或文件夹

mac终端通过指令修改文件内容

查看mac上的隐藏文件

SSH SCP本地文件到终端Mac Os X中的远程