0
私は多くのサブディレクトリを持つフォルダを持っています。私はhtml.txt
ファイルを探し、それらを同じ構造の新しいディレクトリに移動したいと思います。 - 私ディレクトリ名を持つファイルの検索とコピー
find . -name "*.html.txt" | cp -t /home/....
を使用していますが、名前とディレクトリ構造を維持されていません。 これはどうしてですか?
私は多くのサブディレクトリを持つフォルダを持っています。私はhtml.txt
ファイルを探し、それらを同じ構造の新しいディレクトリに移動したいと思います。 - 私ディレクトリ名を持つファイルの検索とコピー
find . -name "*.html.txt" | cp -t /home/....
を使用していますが、名前とディレクトリ構造を維持されていません。 これはどうしてですか?
試してみてください。
find . -name '*.html.txt' | xargs cp -t /home --parents
xargs
は特に「検索」の出力と、引数のリストの中に様々なリストをオンにすると便利です。おそらくfind内でexecコマンドを使ってこれを行うこともできますが、私はいつもすぐにそれを見つけるのが難しいと感じています。
--parents
すべての親ディレクトリがファイルのリストにあるように作成するというトリックはありません。
私はこのタイプのコマンドをcshで使用していますが、これもbashで動作するはずです。
は、ほとんどがすでにここに答えた: https://serverfault.com/questions/180853/how-to-copy-file-preserving-directory-path-in-linux
をあなたが見つける '使用することができます。 -name "* .html.txt" | cpio -pdm/home/where/ever'と入力します。あなたはfindを使うことができます。 -name "* .html.txt" | tar -cf - -T - | tar -xf - -C/home/where/ever'(ただし、単一の 'cpio'コマンドよりも厄介な2つの' tar'コマンドが関係します)。間違いなく他のオプションがあります( 'rsync'、...)。 –