Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 正在查找子字符串中数字最大的命令输出_Bash - Fatal编程技术网

Bash 正在查找子字符串中数字最大的命令输出

Bash 正在查找子字符串中数字最大的命令输出,bash,Bash,我需要解析命令的输出,并在反斜杠(即,app-v2.zip)后面找到具有最高版本的文件的子字符串 在下面的命令输出中,我想查找app-v2.zip,因为v2是最高的。我知道这需要bash命令的组合,但还没有弄明白 命令输出: gs://artifacts/app-v1.zip gs://artifacts/app-v2.zip 所需变量值: app-v2.zip 例如,您可以使用basename获取文件名,sort-V对版本号进行排序,tail获取最新版本 您的命令\ |排序-V\ |尾部-

我需要解析命令的输出,并在反斜杠(即,
app-v2.zip
)后面找到具有最高版本的文件的子字符串 在下面的命令输出中,我想查找
app-v2.zip,因为
v2
是最高的。我知道这需要bash命令的组合,但还没有弄明白

命令输出:

gs://artifacts/app-v1.zip
gs://artifacts/app-v2.zip
所需变量值:

app-v2.zip

例如,您可以使用
basename
获取文件名,
sort-V
对版本号进行排序,
tail
获取最新版本

您的命令\
|排序-V\
|尾部-n1\
|xargs基本名称

如果您的输出已经按照示例中的方式进行了排序,那么这很简单:

variable=$(yourCommand |awk -F/ 'END{print $NF}')
  • awk-F/
    :使用
    /
    作为字段分隔符
  • END{print$NF}
    :打印最后一条记录(行)的最后一个字段

在您的情况下,简单的
排序| tail-n1
会起作用,不是吗?换句话说,您可能需要更好地描述您的问题?