尝试以小写字符串的形式获取网页,然后在字符串输出中搜索子字符串
我的尝试
1 #!/usr/bin/env bash
2
3 URL="https://somesite.com"
4 MOVIES_SOURCE="movies.txt"
5 PAGE=`curl "$URL"` | tr '[:upper:]' '[:lower:]'
6
7 while IFS= read -r movie
8 do
9 FOUND="$($PAGE =~ "$movie")"
10 echo $FOUND
11 if [[ $FOUND ]]; then
12 echo "$movie found"
13 fi
14 done < $MOVIES_SOURCE
15
运行此命令时,我收到line 9: =~: command not found
$movie
变量有效,并且包含movies.txt
中的每一行,但我一直在努力找出这一行!
答案 0 :(得分:1)
如果要在bash中使用正则表达式匹配:
if [[ $PAGE =~ $movie ]]; then
echo "$movie found"
fi
示例:
PAGE="text blah Avengers more text"
movie="Avengers"
if [[ $PAGE =~ $movie ]]; then
echo "$movie found"
fi
给予:
Avengers found
也:捕获整个curl命令的输出:
PAGE=$(curl "$URL" | tr '[:upper:]' '[:lower:]')
$()
$PAGE
包含转换成小写字母的输出。