我有一个.txt文件,其中有多行只包含1个单词。
这些行中的一些包含版本号,例如1.2.3.4
。其他行包含其他信息,例如文件名(不使用数字)。
如何检查此特定文件的最后4行,并检查哪些行包含版本号?我需要输出只是一个版本号(最后4行应该是3个文件名,只有1个版本号,所以无论如何结果总是1个版本号。)
谢谢!
答案 0 :(得分:2)
您可以使用tail
获取最新的4行:
tail -4 filename.txt
因为在你的情况下,你只有一行数字而其余部分没有数字,那么你可能只得到以grep
开头的数字:
tail -4 filename.txt | grep "^[0-9]"
答案 1 :(得分:0)
我会用
vn=$(tail -n 4 "$file" | grep -oP '\d+(\.\d+)*')
它将从最后4行中选择版本号(即使它包含其他一些characers,例如:
some 1.2.3.4 some