删除“.200.300”。来自字符串

Remove ".200.300." from string

采用以下字符串的最佳方法是什么:

100.200.300.400

并删除“.200.300”。字符串的一部分留下“100400”。?

更新:添加一些额外的上下文。 :) 我们使用 Jamf Pro 为 macOS 上的应用程序打补丁。我们使用扩展属性 (EA) 来确定计算机是否处于所需状态(具有我们正在部署的版本或更高版本)。目前我们使用多个 EA,效率不高。以 Adob​​e Flash Player 为例,版本始终为 NN.0.0.NNN 格式。如果我们删除“.0.0”。从版本字符串中,我们可以得到一个整数来执行“-ge”分析。最终结果是我们会知道计算机是否处于所需状态(应用程序处于所需版本或更高版本),或未处于所需状态(需要更新),或未安装(无事可做)。这是我使用的脚本示例,使用了你们的输入:

#!/bin/sh

plistFile="/Library/Internet Plug-Ins/Flash Player.plugin/Contents/version.plist"
versionString=$( defaults read "$plistFile" CFBundleShortVersionString )
currentState=$( echo "${versionString}" | sed 's/\..*\.//' )
desiredState="32114"

if [ -e "$plistFile" ]
then
    if [[ "${currentInteger}" -ge "${desiredInteger}" ]]
    then
        echo "<result>DesiredState</result>"
    else
        echo "<result>NeedsUpdate</result>"
    fi
else
    echo "<result>NotInstalled</result>"
fi

exit 0

能否请您尝试以下。

echo "100.200.300.400" | sed 's/\..*\.//'