0

我对 bash 很陌生,所以如果这是一个愚蠢的问题,我深表歉意。

我正在尝试编写一个脚本,该脚本需要一个文件并测试它是否以 html 结尾。这是我的代码:

echo tester.html | grep -E '[^ ]*[.html]'

然而它会回应我给它的每一个输入,我该如何解决它?

4

2 回答 2

1
echo tester.html | grep -q '\.html$' && echo "MATCH" || echo >&2 "NO MATCH"

或在

x=tester.html
[[ $x == *html ]] && echo "MATCH" || echo >&2 "NO MATCH"

&&&||布尔语法是 的快捷方式if condition; then something; else something_else; fi,请参阅http://mywiki.wooledge.org/BashGuide/TestsAndConditionals

注意 -[]正则表达式中使用意味着字符类(一组字符)

于 2012-10-23T01:30:08.437 回答
0

我在 sputnick 的帮助下解决了这个问题。

这里是:

echo tester.html | grep -E *html 

这有效,

谢谢大家。

于 2012-10-23T01:43:56.597 回答