Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

printing a substring in a bash script

I have a string :

baseline=RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350@/vobs/tlv_pvob

I'm trying to get into a variable the subtring untill the '@' sign is it possible?

like image 458
Alex Brodov Avatar asked Jul 24 '26 04:07

Alex Brodov


2 Answers

Use Parameter Expansion:

$ baseline=RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350@/vobs/tlv_pvob
$ echo "${baseline%%@*}"
RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350
like image 99
Etan Reisner Avatar answered Jul 26 '26 04:07

Etan Reisner


Using BASH regex:

baseline=RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350@/vobs/tlv_pvob

[[ "$baseline" =~ ^([^@]+) ]] && myvar="${BASH_REMATCH[1]}"

echo "$myvar"
RAVENPLAT1.5.5.0_1.5.5.0-318_CHASSIS_PKG_193_15-AUG-2014_0350

OR else using BASH string manipulations:

myvar="${baseline%%@*}"
like image 30
anubhava Avatar answered Jul 26 '26 03:07

anubhava