我需要一个命令(可能是cp的一个选项)来创建目标目录(如果目标目录不存在)。
例子:
cp -? file /path/to/copy/file/to/is/very/deep/there
我需要一个命令(可能是cp的一个选项)来创建目标目录(如果目标目录不存在)。
例子:
cp -? file /path/to/copy/file/to/is/very/deep/there
当前回答
我也有同样的问题。我的方法是把这些文件压缩成一个存档,就像这样:
tar cf你档案。tar file1 /path/to/file2路径/to/even/deeper/file3
Tar自动将文件存储在归档文件中的适当结构中。如果你跑了
Tar xf your_archive.tar
文件被提取到所需的目录结构中。
其他回答
Oneliner创建一个小脚本,可以用作子命令,在find例如:
组+ H;Echo -e "#!/bin/sh\nmkdir -p \$(dirname \"\$2\");Cp \"$ 1\" \"$2\"\;"> ~ /地方/ bin / cpmkdir;Chmod +x ~/local/bin/cpmkdir . sh
然后你可以这样使用它:
查找name files_you_re_lookin_for。* -exec cpmkdir {} ./ extracted_copy / {} \;
mkdir -p "$d" && cp file "$d"
(cp没有这样的选项)。
我强烈建议你也这么做。 只是工作。
同样,my/location/poo .txt this/doesn /exist/yet/poo .txt
只需在你的.bashrc中添加以下代码,如果需要可以调整。适用于Ubuntu。
mkcp() {
test -d "$2" || mkdir -p "$2"
cp -r "$1" "$2"
}
如 如果您想将“test”文件复制到目标目录“d” 使用,
mkcp test a/b/c/d
MKCP将首先检查目标目录是否存在,如果不存在则创建并复制源文件/目录。
我也有同样的问题。我的方法是把这些文件压缩成一个存档,就像这样:
tar cf你档案。tar file1 /path/to/file2路径/to/even/deeper/file3
Tar自动将文件存储在归档文件中的适当结构中。如果你跑了
Tar xf your_archive.tar
文件被提取到所需的目录结构中。