Reputation: 41
How to cut everything, what is before N_NNN:
SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
Between SPA-8 and N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2 there are 3 whitespaces
As output I would like to get:
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
Upvotes: 1
Views: 47
Reputation: 785058
Here is a pure BASH way of achieving this task:
s='SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2'
[[ "$s" =~ (N_NNN.*$) ]] && echo "${BASH_REMATCH[1]}"
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
Upvotes: 0
Reputation: 3239
You can do
awk -F"N_NNN" '{print FS$2 }'
which gives
awk -F"N_NNN" '{print FS$2 }' <<< "SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2"
# N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
If you can split on the whitespace, you can do
awk -F" " '{print $2 }'
Upvotes: 2
Reputation: 21873
you can do that :
$ echo "SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2" | awk -F"N\_NNN" '{print "N\_NNN"$2}'
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
Upvotes: 1