在BASH中提取字符串的一部分

时间:2015-05-10 18:19:00

标签: bash sed

我有一个难题要解决,我自己无法做到。我相信对其他人来说可能很简单。我试图用一个班轮来解决。

我有以下字符串:

Tree-Forest
Vegetable-fruit-Garden
Fish-Frog-Ponds
Chicken-Duck-Farm

我需要在最后提取部分 - 比如(省略最后一个 - 以及之后的字符串):

Tree
Vegetable-fruit
Fish-Frog
Chicken-Duck 

请帮忙。

1 个答案:

答案 0 :(得分:1)

使用BASH字符串操作:

s='Tree-Forest Vegetable-fruit-Garden Fish-Frog-Ponds Chicken-Duck-Farm'
echo "${s%-*}"
Tree-Forest Vegetable-fruit-Garden Fish-Frog-Ponds Chicken-Duck

编辑完问题后,您似乎正在编辑文件,然后您也可以使用sed

sed 's/-[^-]*$//' file
Tree
Vegetable-fruit
Fish-Frog
Chicken-Duck