使用rm *text*
您可以删除所有包含特定字符串的文件。我将如何使它删除除具有特定通配符的文件之外的每个文件?
我尝试使用我发现的其他东西,例如:
find . -type f -print0 | xargs --null grep -Z -L 'text' | xargs --null rm
Run Code Online (Sandbox Code Playgroud)
或者
grep -r -L -Z 'text' . | xargs --null rm
Run Code Online (Sandbox Code Playgroud)
但这些不起作用。相反,他们正在删除给定目录中的所有文件。
我怎么能这样做?
您可以通过启用扩展的 glob 来做到这一点:
shopt -s extglob
Run Code Online (Sandbox Code Playgroud)
现在你可以做例如
ls !(*.pdf)
Run Code Online (Sandbox Code Playgroud)
或者在你的例子中
rm !(*text*)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2691 次 |
最近记录: |