Shell如何使用
如何使用 rmlint
僅從一個位置刪除重複項並保持其他所有內容不變?
我有兩個位置
/path/to/a
和/path/to/b
. 我需要在兩個路徑中找到重複的文件並只刪除項目中的/path/to/b
項目。rmlint
生成相當大的刪除腳本,但它包含來自兩個路徑(甚至是空文件夾)的條目以進行刪除。我
rmlint
使用以下參數執行以獲得此結果,我認為該結果只會/path/to/a
被選中刪除:rmlint -g -e -S p /path/to/a /path/to/b
根據文件,標記是您所需要的。
要使用標記,您可以使用
//
. // 分隔符之後的每條路徑都被認為是“標記的”,並將在可能的情況下被視為原始路徑例如,
rmlint a // b
將“a”路徑標記為重複,將“b”標記為原始路徑為了永不刪除任何標記的文件,有
-k
(--keep-all-tagged
) 選項。另一種選擇是-m
(--must-match-tagged
),它只查找標記路徑中存在原件的重複項。一個簡單的範例(取自文件)是:您有一個攜帶式備份驅動器,上面有一些舊備份。您剛剛將主文件夾備份到新的備份驅動器。您想重新格式化舊的備份驅動器並將其用於其他用途。但首先您要檢查舊驅動器上是否沒有其他地方沒有的東西。舊驅動器安裝在
/media/portable
.$ rmlint --keep-all-tagged --must-match-tagged /media/portable // ~
希望能幫助到你!