使用清单作为参考复制文件

时间:2014-10-06 17:27:53

标签: file shell copy directory

我需要将/ data / files目录中的一堆文件移动到新的文件夹结构中。在/ data目录中,我有一个清单文件,其中包含每个文件的完整工作路径。

源文件:

/data/files/this_file_1.sh
/data/files/this_file_2.sh

清单文件包含:

/path/to/where/file/goes/this_file_1.sh
/a/different/path/to/file/this_file_2.sh

我需要帮助编写一个shell脚本,该脚本将在清单中找到文件名并运行一个复制命令。如果目录结构不存在,请创建它。

#!/bin/bash

for file_name in $(cat manifest); do
  name=$(basename $file_name);
  path= ??

  # Mkdir / Copy

done
  1. 如何从文件的完整路径中获取文件名?
  2. 如何在复制文件之前创建目录?

1 个答案:

答案 0 :(得分:0)

我将让你编写完整的脚本,但这里有一些你可以使用的命令:

“在清单中找到文件名” - basename filepath

“验证它是否存在于/ data / files中” - if [ -e filename ]; then ......

“运行复制命令” - cp location1 location2

“如果目录结构不存在,请创建它” - else mkdir /data/files或您要创建的目录。

如果您对这些命令有任何疑问,请发表评论: - )