【问题标题】:How to grep a shell variable to match end of line?如何grep一个shell变量以匹配行尾?
【发布时间】:2015-05-27 16:24:21
【问题描述】:

如何匹配行尾的 bash 变量?

下面的代码可以对最后的数字做到这一点:

grep '[0-9]$'

但在我的情况下,数字是一个变量。我希望像

grep '{$i}$'

其中 $i 是我的变量,可以工作,但无济于事。我已经尝试了几种单/双逗号组合,但到目前为止没有成功。

提前致谢。

【问题讨论】:

  • 你确定你试过grep "$i$"吗?第二个美元符号,因为它不在有效的参数名称之前,所以应该按字面意思对待。
  • 我现在意识到我已经尝试过grep "{$i}$",但这不起作用,但grep "$i$"grep "${i}$" 可以解决问题。谢谢:)

标签: regex bash shell grep


【解决方案1】:

你可以使用这个grep

grep "$i\$" file

或者:

grep $i'$' file

【讨论】:

  • 这样就行了。谢谢!还不能投票给任何答案:P
【解决方案2】:

您必须使用 "double quoting" 在 shell 中进行变量扩展。使用以下内容:

grep "$i\$" file

【讨论】:

  • 这样就行了。谢谢!还不能投票给任何答案:P
【解决方案3】:

使用单引号将 $ 用作行尾。如果您还想使用某些变量进行 grep,请使用双引号和单引号,如下所示:

grep "$var"'$'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多