【问题标题】:Copying files using Terminal, Mac使用终端复制文件,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 将是一个不错的选择。

标签: macos terminal


【解决方案1】:

试试这个:

for info in `cat $fnames`; do 
  cp -v "${target}/${info}" "${destination}/"
done 
echo "done"

【讨论】:

  • 您想将参数引用到cp,以防任何名称中包含空格。
  • @alesplin & Ken Thomases : 真的!
  • 请注意$info 中的名称不会包含空格;外壳会注意这一点。路径 $target$destination 通常可能包含空格,尽管在此处的具体示例中,这些名称是无空格的。
猜你喜欢
  • 2014-07-06
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 2015-12-30
  • 2020-09-26
  • 1970-01-01
  • 1970-01-01
  • 2015-08-25
相关资源
最近更新 更多