gpt4 book ai didi

linux - 递归删除文件夹中的所有二进制文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:27 25 4
gpt4 key购买 nike

我想使用命令行或 bash 脚本递归地删除 linux 下文件夹中的所有二进制文件。我找到了

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

但这有点可疑,因为它还尝试删除文件“二进制”、"file"和“匹配”

rm: cannot remove ‘Binary’: No such file or directory
rm: cannot remove ‘file’: No such file or directory
rm: cannot remove ‘matches’: No such file or directory

问题是如何正确删除这些文件

最佳答案

此命令将递归返回目录中的所有二进制可执行文件,请先运行此命令以确保正确输出。

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

希望这对您有所帮助,祝您有愉快的一天! :)

关于linux - 递归删除文件夹中的所有二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36221028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com