Jar*_*aus 4 shell pattern-matching
例如,我想删除目录中的所有文件,除了.tar它们来自哪里的文件。我可以做这样的事情:
find . -maxdepth 0 | grep -v '.tar$' | xargs rm -f
Run Code Online (Sandbox Code Playgroud)
但是有没有办法只使用 rm 和shell 模式匹配?bash如果使用 vanilla 无法完成,请随意使用或其他常用shell 或扩展选项指定它sh。
我发现了一个类似的问题,即使用 find 避免目录和子目录,但不使用 shell 模式。
您可以使用扩展的通配符来做到这一点。
shopt -s extglob
Run Code Online (Sandbox Code Playgroud)
然后
rm !(file.tar)
Run Code Online (Sandbox Code Playgroud)
这至少适用于 bash 3.2.39
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |