I'm trying parse the text of a string in bash which I then can throw a case selection at, but I'm having the biggest trouble trying to figure how to do it. In VB I know its real easy like
someString = "Hey there"
Select Case Mid(someString,1,5)
Case "Hey t" 'Do something
Case "Go aw" 'Do something else
Case 'Else
'String is unrecognized
End Select
I can't seem to find anything that shows how I can do a string manipulation function which is equivalent to the Mid function. Do I use sed
, I don't believe I can use awk
or cut
since I'm not trying to trim a string based upon a pattern, but surely it has to be just as simple in Unix.
This could also easily be done with an if, elif, else. The ${someString:0:5} is parameter expansion. Learn more from it's section in the bash manual, and also from Gregs Bash FAQ #73.
Notice the other answer that uses cut. Both will work, however Parameter expansion is faster because its builtin to bash and considered better code. cut would be good for cutting across multiple lines of text.
I'm not sure I understand your question, since I think 'cut' will work just as you want it to.