【问题标题】:Can I use environment variables inside a character range in grep?我可以在 grep 的字符范围内使用环境变量吗?
【发布时间】:2015-07-09 03:51:39
【问题描述】:

我有一个 list.txt 的东西,比如说:

Apples
Bananas
Ananas
Coconut
Kiwi
Nuts

还有 2 个环境变量 STARTCHAR 和 ENDCHAR。我想 grep 以 [$STARTCHAR-$ENDCHAR] 范围内的字符开头的水果。

这行得通:

grep '^[A-C]' list.txt | sort

所以我明白了:

Ananas
Apples
Bananas
Coconut

但我希望字母范围是两个变量 STARTCHAR 和 ENDCHAR。我试过了

grep '^[$FT_LINE1-$FT_LINE2]' list.txt | sort

但我收到此错误

grep: invalid character range

【问题讨论】:

    标签: unix terminal sh


    【解决方案1】:
    grep "^[$FT_LINE1-$FT_LINE2]"
    

    单引号字符串不会被评估以进行替换。双引号是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多