Re: ディレクトリ構造のコピー

コメント書こうとしたら書けなかったので。トラックバック送れるかな。

find 対象 -type d -print0 | xargs -0 mkdir

これだとまったく同じ場所に同じディレクトリを作ろうとしてしまう。

http://kotorikotoriko.g.hatena.ne.jp/Ubuntu/20081111/1226411663

シェルの括弧を使う,が応用がきくかと思います。

(宛先ディレクトリに今いるとして)

( cd 対象 && find . -type d -print0 ) | xargs -0 mkdir

このまま実行すると,一番最初の出力「.」というのを作ろうとして

mkdir: ディレクトリ `.' を作成できません: File exists

みたく怒られますが,一応他のディレクトリは作成できます。

怒られるのがどうしてもいやなら

find . -type -d -mindepth 1 -print0

みたく -mindepth を指定するのも手ですが,そんなオプション覚えるのも面倒なので*1,シカトするのも手です。

*1:sedgrep で最初の行を削除するというのも手ですが,やはり手間ですよね。