17

私は映画ファイルの巨大なディレクトリ構造を持っています。その構造を分析するために、ディレクトリ構造全体、つまりフォルダとファイルをコピーしたいのですが、ファイル名を保持したいのに、すべてのムービーファイルをコピーしたくありません。理想的には、元のムービーファイル名でゼロバイトのファイルを取得します。

リンクファイルをフェッチしなかったリモートマシンにrsyncを実行しようとしました。

スクリプトを書かずにそれを行う方法はありますか?

4

4 に答える 4

18

検索を使用できます:

find src/ -type d -exec mkdir -p dest/{} \; \
       -o -type f -exec touch dest/{} \;

( ) の下のディレクトリ ( -d)を検索して ( ) の下src/に作成 ( mkdir -p)dest/または ( -o) ファイル ( -f)touchの下にそれらを検索しますdest/

これにより、次のようになります。

dest/src/<file-structre>

mvこの問題を解決するために創造的に使用できます。


その他の (部分的な) 解決策は、rsync を使用して実現できます。

rsync -a --filter="-! */" sorce_dir/ target_dir/

ここでの秘訣は、ディレクトリ ( )ではないもの ( ) をすべて--filter=RULE除外 ( ) するオプションです。-!*/

于 2012-08-14T12:46:30.013 に答える
12

ubuntuでは以下を試すことができます:

cp -r --attributes-only <source_dir> <target_dir>

ファイルデータはコピーされません。のマンページからcp

--attributes-only
          don't copy the file data, just the attributes

注:このオプションが他のディストリビューションで利用できるかどうかはわかりません。誰かが確認できる場合は、回答を更新してください。

于 2012-08-14T05:59:48.253 に答える
-3

ls> listOfMovie.txt; 映画のリストは.txtファイルにあります。複数のディレクトリについては、マニュアルページを参照してください。

于 2012-08-14T12:20:37.793 に答える