Ubuntu
如何將沒有特定副檔名的所有文件複製到另一個目錄?
我有兩個目錄
dir1
和dir2
. 我想將所有文件和文件夾複製dir1
到dir2
除了具有.txt
副檔名的文件之外。我怎麼能做到這一點?
rsync
與--exclude
選項一起使用。rsync -av --exclude '*.txt' dir1/ dir2/
POSIXly:
cd dir1 && LC_ALL=C pax -rwpe -'s|.*\.txt||' . ../dir2
請注意,至少通過http://www.mirbsd.org/pax.htm的實現(例如在 MirBSD 或
pax
Debian 的軟體包中找到),它還排除了目標以結尾.txt
的符號連結,即使符號連結自己命名不要以.txt
.另一個區別
rsync
是,雖然它排除了名稱以 結尾的目錄.txt
,但它不排除這些目錄中的非 txt 文件。添加一個-s'|.*\.txt/.*||'
也排除那些。
-pe
嘗試保留盡可能多的元數據(其列表因pax
實現而異)。使用rsync
,請參閱-a
(-rlptgoD
)-AXUHN
選項以選擇要保留的內容。