Linux cp具有完整路径

时间:2014-09-13 13:44:40

标签: linux copy concatenation cp

如何使用完整文件目标路径将文件复制到目录?

当我使用时:

cp --parents /etc/passwd /tmp

我收到错误

cp: illegal option -- - usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpvx] source_file target_file cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpvx] source_file ... target_directory

如果我使用this script

for line in "`cat fromDirs.txt`"; do find "$line" -type f \( -name '*good*' -o -exec grep -F "(NODES_'TASK')" {} \; \) -exec cp {} /tmp/ \;; done

也许有可能连接像

这样的变量
-exec cp $line{} /tmp/ \;; done
or
-exec cp {} /tmp/$line \;; done

???

1 个答案:

答案 0 :(得分:2)

问题是您的cp版本不接受长选项。当它看到--parents时,它认为您正在尝试使用-选项(以及par等选项)。

你可以这样模仿它:

source=/etc/passwd
mkdir -p /tmp/$(dirname $source)
cp $source /tmp/$source