フォルダ構造を維持しながら変更されたファイルをコピーする方法

フォルダ構造を維持しながら変更されたファイルをコピーする方法

私はPHPプロジェクトのファイルをたくさん変更しており、これらの変更をFileZilla FTP経由でサーバーにプッシュしたいと思います。すべてのファイルをプッシュするのではなく、過去14日間に変更されたファイルを見つけて、フォルダ/ModifiedFiles構造を維持しながらフォルダにコピーしたいと思います。これにより、フォルダの内容を/ModifiedFilesFileZillaにドラッグするだけで、そのフォルダに必要なすべてのファイルが上書きされます。

Windowsを使用している場合は、次のコード行を実行すると目的の操作が実行されます。

xcopy RUF_Donation_Web ModifiedFiles /S /V /I /R /D:02-09-2016

Mac(OS X Yosemite)のBashターミナルでこれを行うにはどうすればよいですか?

ベストアンサー1

cpioこれは次の一般的な操作ですpax

find . -type f -mtime -14 -print0 | pax -0 -rw /ModifiedFiles

-lこのオプションを使用してコピーの代わりにリンクを作成することもできます。このコマンドはDebianでは正しく機能しませんが、paxOS / Xでは同じ問題が発生しない可能性があります。

cpio(の祖先)を使用してpax同様のことを行うことができますが、cpioOS / Xでの実装は、任意のファイル名を受け入れる/オプションをサポートしていないようです-0--nullファイル名に改行文字が含まれていないことがわかっている場合でも、次のことができます。

find . -type f -mtime -14 | cpio -dp /ModifiedFiles

Debian(GNU)とOS / Xのcpio両方の-lバージョンでは、コピーの代わりにリンクを作成するオプションがあります。 (Debianはうまくいくようです)。

おすすめ記事