我的情况是,我的/ tmp目录中至少包含25,000 - 50,000个目录。我试图使用以下命令删除该目录中超过2天的目录。
private func setUpAutocomplete() {
// Define intput stream
searchBar.rx.text
.orEmpty
.map({
(query: String) -> [String] in
let res = AllGenes.filter { $0.hasPrefix(query) }
return res
})
.bind(to: tableView.rx.items(cellIdentifier: cellIdentifier,
cellType: GeneSeachTableViewCell.self)) { row, gene, cell in
cell.textLabel?.text = "\(gene) \(row)"
}
.disposed(by: disposeBag)
}
但是我继续遇到参数列表太长的错误。如何具体限制删除的目录数量?我尝试使用maxdepth 1选项,但似乎没有用。
答案 0 :(得分:-1)
*
glob使shell扩展所有目录名称并将其传递给find
。摆脱它,让find
完成工作而不是shell。
find /path/to/tmp/ -mindepth 1 -type d -ctime +2 -delete
-mindepth 1
确保find
仅处理子目录,而不是/path/to/tmp
本身。
如果这些目录不为空,则需要将-delete
切换为rm -r
。
find /path/to/tmp/ -mindepth 1 -type d -ctime +2 -exec rm -r {} +