bash得到第一个单词的最后一行

时间:2013-11-12 17:36:12

标签: bash changelog

我有一个bash脚本,我开始编写一个更改日志来跟踪更改。

我在脚本中添加了一个回显"Script version --> "的函数 但我必须手动编辑它。

所以我需要一个函数来获取第一个单词,直到最后一行的空格并将其存储为$CURRENTVERSION

Changelog语法是:

v-0.3.2 Added x, y.

v-0.3.2.1 Fixed y.

v-0.4 Added z.

简单地说,我需要将v-0.4存储为$CURRENTVERSION

4 个答案:

答案 0 :(得分:5)

使用awk:

awk '{w=$1} END{print w}' file

或使用sed:

sed -n '$s/^\([^ ]*\).*$/\1/p' file

答案 1 :(得分:2)

如果你不喜欢awk或sed,你可以这样做:

tail -n1 file | cut -d' ' -f1

但实际上,awk和sed是更好的工具......

答案 2 :(得分:2)

击:

read CURRENTVERSION rest < <(tail -1 changelog)

答案 3 :(得分:0)

CURRENTVERSION=$( perl -anle 'print $F[0] if eof' changelog )
echo $CURRENTVERSION 
v-0.4