Hi there, im sure this is really simple but i have some strings like this
and i want to create two variables ($DRIVER and $INSTANCE). the first one containing the alpha characters that make up the first part of the string, e.g. e1000g or nge and the second variable containing the digits at the end e.g. 3 or 123001 . The digits in the string will always be at the end and the alphas, always at the beginning .. i tried cutting particular parts of the string out based on number of characters, but as you can see the number varies
does anyone know how i can extract these values based on whether they are digits or alphas as opposed to for example , getting 3 characters in from the right etc (which isnt suitable)
any help would be greatly appreciated
---------- Post updated at 08:07 AM ---------- Previous update was at 07:24 AM ----------
UPDATE: actually ive just realised that the e1000g part of my example string does indeed have digits in, so its made my task even more complex as i need to now go up to the last alpha from the right ... as opposed to plain is it a number or is it a letter. Apolos, i didnt see that.
somebody has said to me i need to look at a 'non greedy regex match up to the last letter and create a back reference'
thanks for replying panyam, the expected output would be 2 variables so for example with a string called
e1000g112001
I would have a
$DRIVER that has e1000g
$INSTANCE that has 112001
it becomes more difficult because as you can see, the driver name (in this case e1000g) has digits within it ... but one thing i know is that ALL drivers will end in a letter regardless of whether they contain a number.
So i think i need to do a pattern match of everything up to the last letter (which will be the $DRIVER variable) then everything after that last letter (which will be the $INSTANCE variable)
here , using sed i am first searching for the last occurance of "alphabet" using \(.*[a-z]\) and the same can be referenced by \1, rest every thing can be referenced by \2.
A good place to start with , if you are interested to learn sed:
How can I extract digits at the end of a string in UNIX shell scripting or perl?
cat file.txt
abc_d123_4567.txt
A246_B789.txt
B123cc099.txt
a123_B234-012.txt
a13.txt
What can I do here? Many thanks.
cat file.txt | sed "s/.txt$//" | ........
4567
789
099
012
13 (11 Replies)
Hi,
I am trying to remove lines once a string is found till another string is found including the start string and end string. I want to basically grab all the lines starting with color (closing bracket). PS: The line after the closing bracket for color could be anything (currently 'more').... (1 Reply)
Hi,
I hope someone can share there scripting fu on my problem,
I would like to delete the 3rd character from a random length of string starting from the end
Example
Output
Hope you can help me..
Thanks in advance.. (3 Replies)
Suppose, I have a variable var=" name is ".
I want to remove the blank spaces from the begining and endonly, not from the entire string.
So, that the variable/string looks like following
var="name is".
Please look after the issue. (3 Replies)
Hi Experts,
Here is what I am trying to do.
1) say I have a file with below strings
database1
database2
database3
data10gdb1
data10gdb2
databasewithoutdigit
2) I want to get the below output.
(- if there is any digit at the end of the string, I need to remove it)
(- Any... (3 Replies)
Hi
i had String like
UID: ABC345QWE678GFK345SA90, LENGTH 32
when I used awk ' FS, {print $1}' prints
ABC345QWE678GFK345SA90,
how can i getrid of that coma at the end of the string.
Thanks in advance.. (14 Replies)
Hi All,
How to remove a box like special character which appears at the end of a string/line/record. I have no clue what this box like special character is. It is transparent square like box. This appears in a .DAT file at the end of header.
I'm to compare a value in header with a parameter.... (16 Replies)
Hey guys, Can sed or another command be used to examine a path such as
/home/test/blah/blahand check to see if the last character is a "/" and if so remove it
So this is what should happen:
/home/test/blah/blahnothing happens, this is ok
/home/test/blah/blah/the "/" at the end is... (6 Replies)