2つのディレクトリがあり、拡張子が.であるファイルを除くdir1
すべてのファイルdir2
とフォルダをコピーしたいと思います。どうすればいいですか?dir1
dir2
.txt
答え1
rsync
オプションと一緒に使用されます--exclude
。
rsync -av --exclude '*.txt' dir1/ dir2/
答え2
POSIX的に:
cd dir1 && LC_ALL=C pax -rwpe -'s|.*\.txt||' . ../dir2
少なくとも実装ではhttp://www.mirbsd.org/pax.htm(例:MirBSDまたはDebianpax
のパッケージ内のエントリ).txt
シンボリックリンク名自体がで終わらない場合でも、ターゲットで終わるシンボリックリンクも除外されます.txt
。
別の違いはrsync
除外されますが、目次名前で終わる.txt
これらのディレクトリのtxt以外のファイルは除外されません。を追加すると、-s'|.*\.txt/.*||'
これらの項目も除外されます。
-pe
できるだけ多くのメタデータを保存してください。メタデータのリストは実装によって異なりますpax
。 ()オプションを使って保持する内容を選択してくださいrsync
。-a
-rlptgoD
-AXUHN