gpt4 book ai didi

linux - 将变量传递给 grep 命令

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:56 26 4
gpt4 key购买 nike

我想在我的 grep 中传递一个变量Linux bash 脚本中的命令。变量是来自互联网的文本文件,我想在其中找到一些单词。

我在 bash 中尝试了以下命令:

  1. cat "$var" | grep -Po '(?<=\d[a-zA-Z]).*\..*(?=[a-zA-Z]\d)'
  2. echo "$var" | grep -Po '(?<=\d[a-zA-Z]).*\..*(?=[a-zA-Z]\d)'
  3. 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

最佳答案

变量中应该包含什么?

这是一个文件?

grep <options> <expression> "$var"

这是一个字符串?

echo "$var"|grep <options> <expression>
grep <options> <expression> <(echo "$var")

注意:如果 $var 中有多行,请尝试 -e 选项

关于linux - 将变量传递给 grep 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com