我希望使用命令行或bash脚本以递归方式删除linux下文件夹中的所有二进制文件。我找到了
filtered = Table.filter({ (text) -> Bool in
let tmp: NSString = text as! NSString
let range = tmp.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch)
return range.location != NSNotFound
})
列出grep -r -m 1 "^" path/to/folder | grep "^Binary file"
How to list all binary file extensions within a directory tree?处的所有二进制文件。我现在想删除所有这些文件。
我能做到
path/to/folder
但这很可疑,因为它还试图删除文件'二进制','文件'和'匹配',如
grep -r -m 1 "^" path/to/folder | grep "^Binary file" | xargs rm
问题是如何正确删除这些文件?
答案 0 :(得分:1)
此命令将在目录中递归返回所有二进制可执行文件,首先运行此命令以确保正确输出。
find . -type f -executable -exec sh -c "file -i '{}' | grep -q 'x-executable; charset=binary'" \; -print
如果可行,您可以将输出传递给xargs以删除这些文件。
find . -type f -executable -exec sh -c "file -i '{}' | grep -q 'x-executable; charset=binary'" \; -print | xargs rm -f
希望这有所帮助,祝你有个美好的一天! :)
答案 1 :(得分:1)
我编写了一个名为 blobs 的工具,用于列出可运行的二进制文件。
它的自述文件提到了如何通过管道传输到任何其他命令。