我运行命令grep
以获取某些输出并将其存储到变量中。grep 命令的输出是:
5.3.1-6.2011171513.ASMOS6
但我只需要解析出5.3.1-6
该版本并将其存储在一个变量中。我怎样才能做到这一点?
那这个呢?
TEXT=5.3.1-6.2011171513.ASMOS6
RES=$(echo $TEXT | cut -d. -f-3)
我们cut
系上绳子.
,然后得到前 3 件。
用awk
RES=$(echo $TEXT | awk -F. 'OFS=FS {print $1,$2,$3}')
OFS=FS
这意味着我们得到了用 . 定义的分隔符来打印-F
。
当您标记 linux 时,我假设您有一个支持该-o
选项的现代 grep。
你可以做
var=$(grep -o 'regex' file)
仅将正则表达式捕获到变量中。
不幸的是,我不明白您遇到的问题5.3.1-6
,您必须编辑您的问题以向我们展示您当前使用的正则表达式。
IHTH