ファイルコンテンツなしでファイルとディレクトリをコピーする


18

ファイルはあるが内容は含まないディレクトリ構造をコピーする方法はありますか。つまり、ファイル名とまったく同じディレクトリが必要ですが、空/空のままにします。いくつかのプログラミング言語のサンプルアプリケーションはほとんどありません。自分のスタイルでそれらを書き直したいのですが、ファイルに整理された方法を維持したいと思います。

私はどんな助けにも感謝します。

回答:


36

から man cp

--attributes-onlyはファイルデータをコピーせず、属性のみをコピーします

だから、あなたがにあるすべてのフォルダとファイルをコピーしたい場合 somedirectory

行う cp -R --attributes-only somedirectory destinationdirectory


これはまさに私が必要とするものです。どうもありがとうございました。
dagi12

4
誰かがすでにこれを実装しているとは思わなかったため、+ 1-本当に驚いた。
mgarciaisaia

@mgarciaisaia今朝manページをチェックしたとき、私はあなたがたと同じように驚いた=)
Sergiy Kolodyazhnyy

10

Ubuntu cpにこの機能があるのはいいことですが、サポートしていないマシン(cpたとえば、BSDスタイルではないため、OS Xでもない)を使用する場合は、を使用すると非常に簡単ですfind。ここでは、2行になっています(読みやすいように)。

% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;

copy_dir既に存在する場合は、ディレクトリツリーをトップダウンで走査-pするmkdirため、引数をスキップできますfind。大規模なジョブ+\;場合は、findサポートしている場合(おそらくサポートしている場合)の代わりにを使用してコマンドを終了することで、さらに1ミリ秒程度削ることができます。

編集:シンボリックリンクを処理することを怠っ上記のコマンド、の3回目でコピーすることができますfindしていないと、この1を終了+):

% find . -type l -exec cp -R {} ../copy_dir/{} \;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.