Visit Our UNIX and Linux User Community


Help on extracting a substring from the input string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help on extracting a substring from the input string
# 1  
Old 02-07-2013
Help on extracting a substring from the input string

Hi,

I am new to Unix. I am trying to extract a substring from an input string: Ex -

input string: deploy_v11_9_1
i want to extract and store the value v11_9_1 from the input string in a new variable.

I am using following command in my shell script file:
Code:
echo "Enter the folder name u want to access ... ";
read FOLDER;
version = $(echo $FOLDER | awk '{split($0,a,"_v");print a[2]}');
echo $version;

However, I am getting error message that
Code:
version: command not found

Could you please help?

Thanks,
Pranav
# 2  
Old 02-07-2013
Code:
version = $(echo $FOLDER | awk '{split($0,a,"_v");print a[2]}');

Remove the spaces around the "=" sign:
Code:
version=$(echo $FOLDER | awk '{split($0,a,"_v");print a[2]}');

This User Gave Thanks to Franklin52 For This Post:
# 3  
Old 02-07-2013
got the solution

We also need to remove '$' symbol and replace it with `.

Following code finally worked:
Code:
echo "Enter the folder name u want to access ... ";
read FOLDER;
version=`echo $FOLDER | awk '{split($0,a,"_v");print a[2]}'`
echo "Version is "$version

output:
Code:
Enter the folder name u want to access ...
deploy_v11_9_1
Version is 11_9_1

# 4  
Old 02-07-2013
Code:
version=`echo $FOLDER | awk '{split($0,a,"_v");print a[2]}'`

Here you also have removed the ; at the end compare to post above.

Try this and see if it works
version=$(echo $FOLDER | awk '{split($0,a,"_v");print a[2]}')
Its more easy to read a code using $(code) compare `code`

It may be shorten some to:
Code:
version=$(awk '{split($0,a,"_v");print a[2]}' <<< $FOLDER)

I do also not see why you split $0
This may also work
Code:
version=$(awk -F"_v" '{print $2}' <<< $FOLDER)


Last edited by Jotne; 02-07-2013 at 08:53 AM..
This User Gave Thanks to Jotne For This Post:
# 5  
Old 02-07-2013
Quote:
Originally Posted by Pranav Bhasker
input string: deploy_v11_9_1
i want to extract and store the value v11_9_1 from the input string in a new variable.
As per your given input your final output is highlighted above.
If you want v in the final output then use sth like this..

And instead of using split just us FS for the same Smilie
Code:
$echo "deploy_v11_9_1" | awk -F "y_" '{ print $2}' 
v11_9_1

or if you want only numbers then..
Code:
$echo "deploy_v11_9_1" | awk -F "_v" '{ print $2}' 
11_9_1

and please look this..

Code:
 
$ version=`echo "deploy_v11_9_1" | awk -F "_v" '{ print $2}'`
 
$ echo $version
11_9_1

Code:
$ version=$(echo "deploy_v11_9_1" | awk -F "_v" '{ print $2}')
 
$ echo $version
11_9_1

Both $() and `` are used for the same but $() is preferred over backticks.

Last edited by pamu; 02-07-2013 at 08:54 AM..
This User Gave Thanks to pamu For This Post:
# 6  
Old 02-08-2013
Thanks all for ur valuable suggestions Smilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #252
Difficulty: Easy
Network computer devices that originate, route and terminate the data are called server-only devices.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extracting substring within string between 2 token within the string

Hello. First best wishes for everybody. here is the input file ("$INPUT1") contents : BASH_FUNC_message_begin_script%%=() { local -a L_ARRAY; BASH_FUNC_message_debug%%=() { local -a L_ARRAY; BASH_FUNC_message_end_script%%=() { local -a L_ARRAY; BASH_FUNC_message_error%%=() { local... (3 Replies)
Discussion started by: jcdole
3 Replies

2. Shell Programming and Scripting

Extracting substring from variable

Hi All, I'm facing issue wherein I have 2 character string like 'CR' and 'DR' and I want to extract just 1st character but am unable to do it. I tried below options but they are returning me 2nd character only, var="CR" echo ${var:1} returns just "R" echo ${var:0} returns "CR" ... (5 Replies)
Discussion started by: arvindshukla81
5 Replies

3. Shell Programming and Scripting

Extracting a substring from Line

Hi All I have a line which is as below 1234567 Gagan Paswani zz23432 1000000000 1000000000 ASTHEYXX-RTUC zz23432 I need to extract the first occurence of zz23432 which will have the reg expression as {2}{5} Could you please assist as to how I can extract this... (3 Replies)
Discussion started by: Prashantckc
3 Replies

4. Shell Programming and Scripting

Need help in extracting the substring in UNIX

Hi all, I need to extract the "abcdef" from the below string Digital_abcdef_20130103.txt.gz The length of the "abcdef" will be changing but it will be always after the word Digital_ and before the second underscore help in this regard is highly appreciated (3 Replies)
Discussion started by: rithushri
3 Replies

5. Shell Programming and Scripting

Extracting substring

Hi, I have string in variable like '/u/dolfin/in/DOLFIN.PRL_100.OIB.TLU.001.D20110520.T040010' and i want to conevrt this string into only "DOLFIN.PRL_100.OIB.TLU.001.D20110520.T040010" (i.e file name). Is there any command to extracting string in some part ?(rather than whole path)? ... (5 Replies)
Discussion started by: shyamu544
5 Replies

6. Shell Programming and Scripting

Extracting a substring from a string in unix

Hi, I would like to extract a substring from a string in unix. eg: ./checkfile.sh -- i need only checkfile.sh from this string. Could someone help me out in this... Regards Arun (19 Replies)
Discussion started by: arunkumarmc
19 Replies

7. Shell Programming and Scripting

Extracting substring from string

Hi awk and sed gurus, Please help me in the following. I have the following entries in the file ABCDErules AbHDPrules ABCrules -- -- and other entries in the file. Now, I want to extract from the file that contain entries for *rules and process it separately. How can i do it... (6 Replies)
Discussion started by: sdosanjh
6 Replies

8. Shell Programming and Scripting

extracting substring from a file name

hi i need to name a file with a substring of a another file name. i.e. if the old filename is abc.txt , the new filename should be abc_1.txt i should get the substring of the file name and then name the new one please let me know how to do it (4 Replies)
Discussion started by: adityamahi
4 Replies

9. Shell Programming and Scripting

Extracting a substring starting from last occurance of a string/character

Hi All, This is Ram. I'm new to this forum & new to shell scripts as well. I've a requirement in which I want to extract a substring from a given string based on last occurance of a character. for eg. I have a string of a file name with absolute path like... (2 Replies)
Discussion started by: krramkumar
2 Replies

10. Shell Programming and Scripting

sed, grep, awk, regex -- extracting a matched substring from a file/string

Ok, I'm stumped and can't seem to find relevant info. (I'm not even sure, I might have asked something similar before.): I'm trying to use shell scripting/UNIX commands to extract URLs from a fairly large web page, with a view to ultimately wrapping this in PHP with exec() and including the... (2 Replies)
Discussion started by: ropers
2 Replies

Featured Tech Videos