使用正则表达式的否定删除文件

使用正则表达式的否定删除文件

尝试创建一个脚本,用于从第一个脚本参数中的目录中删除文件,该脚本参数不包含第二个脚本参数中的符号序列。但它什么也没做。我尝试了:

find $1 -name !\(.*$2.*\) | tee file | cat

我哪里错了?

答案1

用于-regex正则表达式,不是-name。使用-!-not进行否定:

find "$1" -not -regex ".*$2.*"

引用变量应该比不使用引号使用变量更安全。

相关内容