Dr *_*eco 3 regex exec find inverse
我正在寻找一种表达此命令的方法,该命令排除所有可执行文件,除了那些以".EXE"结尾的文件
我试图使用"find"命令和-exec来解决它.谢谢.
我尝试的命令和其他版本的命令不起作用:
find . -type f -regex "[^\.EXE$]" -printf "%f\n" -exec chmod a-x {} +
Run Code Online (Sandbox Code Playgroud)
谢谢任何帮助,Beco.
编辑:
为了找到正则表达式的"逆",我尝试了(更多)研究:
find . -type f ! -regex ".EXE$" -printf "%f\n" -exec chmod a-x {} +
Run Code Online (Sandbox Code Playgroud)
但这也行不通.
使用您的命令可以解决的问题很少
首先是排除条件.排除"*.EXE"说! -name "*.EXE".在OP条件需要包含来自不同的信中的所有文件\,.,E或X.
另一件事是,为了这个特定的目的,只检查可执行文件是有意义的.这可以通过-executable谓词来完成.
其余的似乎没问题.
这是一个完整的版本
find -executable -type f ! -name "*.EXE" -exec chmod a-x {} +
Run Code Online (Sandbox Code Playgroud)