gpt4 book ai didi

bash - 根据 Bash 中的特定字符修剪字符串(尾部)

转载 作者:行者123 更新时间:2023-12-02 20:49:51 29 4
gpt4 key购买 nike

我试图弄清楚一旦我击中某个字符,如何从尾部修剪 Bash 中的字符串。

示例:如果我的字符串是这个(或任何链接):https://www.cnpp.usda.gov/Innovations/DataSource/MyFoodapediaData.zip

(我将其设置为我的变量)。(即,如果我 echo $var 它将返回该链接:)

我想使用 Bash,我猜我需要使用 sed 或 awk,但我想修剪,从末尾开始,直到看到第一个/(因为将是文件名)和把它去掉。

因此,使用该链接,我试图获取/所以只是“MyFoodapediaData.zip”并将其设置为不同的变量。

所以最后,如果我 echo $var2 (如果我这样调用它)它只会返回:MyFoodapediaData.zip"

我尝试使用 sed 's.*/",这将从头开始直到找到第一个斜杠。如果可能的话,我正在寻找相反的顺序。

最佳答案

您可以使用 bash 内置参数替换来实现此目的:

$ var='https://www.cnpp.usda.gov/Innovations/DataSource/MyFoodapediaData.zip'
$ echo "$var"
https://www.cnpp.usda.gov/Innovations/DataSource/MyFoodapediaData.zip
$ var2=${var##*/}
$ echo "$var2"
MyFoodapediaData.zip

${var##*/} 表示“从 var 变量值的开头开始,删除直到最后 斜杠。”

参见parameter substitution在手册中

关于bash - 根据 Bash 中的特定字符修剪字符串(尾部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42587819/

29 4 0
文章推荐: c# - 仅在需要时将对象包装到任务
文章推荐: TensorFlow:评估恢复图