如何在变量中执行grep?我已将 wget 输出存储在一个变量中,我需要从中提取一些字符串。就像变量的内容是
upgrade http://wordpress.org/download/ http://wordpress.org/wordpress-3.0.5.zip 3.0.5 en_US 4.3 4.1.2
我需要检查字符串是否包含单词upgrade
,所以我可以做一个简单的 grep 然后检查它的退出状态$?
并继续。
我怎样才能得到3.0.5
实际上是第四个单词的值?
以及如何实际 grep 变量?
而不是 grepping,也许只是使用
cut
. 它比运行完整的正则表达式要快得多。输出:
3.0.5
不过,这可能更健壮一些(从 zip url 中获取版本):
如果要将其存储回 bash 变量中,只需将其用引号和反引号括起来。反引号部分将首先执行,将其保留为字符串。
所以就剥离这个(根据你的评论)在开始时寻找
upgrade
:如果您只是在寻找一个单词,您可以使用 for 循环。
如果升级总是在同一个位置,你可以尝试数组分配。
除了您应该知道的整体问题之外,
grep
如果字符串包含多行并且您想找出包含某个单词的行,您也可以使用它。例子:
使用 grep 查找包含单词“one”的行 使用带引号的变量的 echo: