shell命令截断/剪切字符串的一部分

Jil*_*448 1 shell awk grep cut

我有一个包含以下内容的文件.我得到了打印版本号的命令.但我需要截断版本文件中的最后一部分

file.spec:

Version: 3.12.0.2
Run Code Online (Sandbox Code Playgroud)

使用的命令:

VERSION=($(grep -r "Version:" /path/file.spec | awk  '{print ($2)}'))

echo $VERSION
Run Code Online (Sandbox Code Playgroud)

电流输出:3.12.0.2

期望的输出:3.12.0

Adr*_*rth 7

如果你的shell符合POSIX(它应该是)并且支持参数扩展,那么对于这个简单的任务awk,绝对不需要像sed等等的外部工具:

$ cat file.spec
Version: 3.12.0.2
$ version=$(<file.spec)
$ version="${version#* }"
$ version="${version%.*}"
$ echo "${version}"
3.12.0
Run Code Online (Sandbox Code Playgroud)