Bash-删除所有以但不以结尾开头的内容

问题描述

我正在尝试编写一条命令,删除所有以“ test”开头的文件/文件夹,删除也以test开头的zip文件

到目前为止,我有

 rm -rf test*[!zip]

这几乎可行,但效果不佳。

如果我有以下文件

test
test1
test.zip

然后在剩下的命令之后是:

test
test.zip

所以问题是测试也应该删除。我了解我的命令只匹配“测试”以外至少具有一个额外字符的内容,但不确定如何解决该问题。

解决方法

由于存在 WebView wv = (WebView) findViewById(R.id.webView); wv.setWebViewClient(new WebViewClient() { @Override public void onReceivedError(WebView view,int errorCode,String description,String failingUrl) { suåper.onReceivedError(view,errorCode,description,failingUrl); //call loadErrorPage function here } }); 部分,因此您的glob模式test*[!zip]将在test之后至少需要一个字符。

您可以在[!zip]中使用此扩展的glob模式:

bash

否则,您可以使用以下shopt -s extglob nullglob printf '%s\n' test!(*zip)

find