我想在Linux bash脚本中的grep
命令中传递一个变量。变量是来自Internet的文本文件,我想在其中找到一些单词。
我在bash中尝试了以下命令:
cat "$var" | grep -Po '(?<=\d[a-zA-Z]).*\..*(?=[a-zA-Z]\d)'
echo "$var" | grep -Po '(?<=\d[a-zA-Z]).*\..*(?=[a-zA-Z]\d)'
grep -Po '(?<=\d[a-zA-Z]).*\..*(?=[a-zA-Z]\d)' <<< "$var"
但我没有得到正确的结果。 我该怎么办?
这是我的bash:
#!/bin/sh
urltext=$(curl -s https://example.com)
string=$(grep -Po '(?<=\d[a-zA-Z]).*\..*(?=[a-zA-Z]\d)' "$urltext" | tr '.' '\n' )
cat $string
答案 0 :(得分:0)
变量中应该包含什么?
这是一个档案?
grep <options> <expression> "$var"
这是一个字符串?
echo "$var"|grep <options> <expression>
grep <options> <expression> <(echo "$var")
注意:如果$ var
中有多行,请尝试-e
选项