String operations


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting String operations
# 1  
Old 08-23-2011
String operations

Can you give me some suggestions to split below string into three parts using shell scripts.. Script has to print all alphabets before the number, then number and then all alphabets after the number..
input: chris martin 200173 845747 mech engineer
output: chris martin 200173 845747 mech engineer

Thanks in advance.
# 2  
Old 08-23-2011
???
Check your example of input/output.
# 3  
Old 08-23-2011
Script has to split the string in such a way that all alphabets before the number, then number and then all alphabets after the number..

Input: chris martin 200173 845747 mech engineer
output:
var1=chris martin
var2=200173 845747
var3=mech engineer
# 4  
Old 08-23-2011
Code:
echo 'chris martin 200173 845747 mech engineerchris' | 
sed -r 's/([^0-9]*)([0-9 ]*)([^0-9]*)/var1=\1\nvar2=\2\nvar3=\3/'

GNU sed. Change "(" and ")" to "\(" and "\)" for another one (and remove -r option).
This User Gave Thanks to yazu For This Post:
# 5  
Old 08-23-2011
Thank you very much, Yazu. I appreciate your quick help!
It worked!
# 6  
Old 08-24-2011
help needed.. when i tried echo $var1 i was not getting output as "chris martin"
what i suppose to do to print values explicitly using
Code:
echo $var1 
echo $var2
echo $var3

Command:
Code:
echo "chris martin 200173 845747 mech engineerchris" | sed  's/\([^0-9]*\)\([0-9 ]*\)\([^0-9]*\)/var1=\1\nvar2=\2\nvar3=\3/'

current output:
Code:
var1=chris martin nvar2=200173 845747 nvar3=mech engineerchris


Last edited by Franklin52; 08-25-2011 at 04:13 AM.. Reason: Please use code tags for code and data samples, thank you
# 7  
Old 08-24-2011
Try this:
Code:
#!/bin/ksh

eval $(print "chris o'neil 200173 845747 mech engineer" | sed 's/\([^0-9]*\)\([0-9 ]*\)\([^0-9]*\)/var1="\1";var2="\2";var
3="\3"/')

## Kludgy way of getting rid of trailing space.  Should change
## the above sed command somehow.
var1=$(print $var1|sed 's/ $//')
var2=$(print $var2|sed 's/ $//')

print "[$var1]"
print "[$var2]"
print "[$var3]"

Output:
Code:
$ xyz
[chris o'neil]
[200173 845747]
[mech engineer]
$


Last edited by gary_w; 08-24-2011 at 02:12 PM.. Reason: pyt quotes around the data or else it won't handle lastname with a single quote in it.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

File Operations

Hi Folks, Below is example of an Input data which is used, based on the last 2, 3 & 4 column, I want my first column data to be collated as shown in the output section. a,ac,tc,ic b,ac,tc,ic c,ac,tc,ic d,ac,tc,ic b,bc,tc,ic d,bc,tc,ic e,bc,tc,ic I want my output to be ... (2 Replies)
Discussion started by: nikhil jain
2 Replies

2. Shell Programming and Scripting

Shell operations from C++

Hi everyone, I need little help in shell operations from C++ program. Here I furnish the details of problem: 1. Lets say my current working path is myWorkingPath. 2. In my working path I have list of name directories and each name directory has two more sub directories say A/B. (now path to... (5 Replies)
Discussion started by: linuxUser_
5 Replies

3. Linux

Atomic Operations

Hello I am a newbie in linux. Please tell me what are atomic operations in Linux. IS i++ a atomic oparation?? Please help.. (3 Replies)
Discussion started by: aditya08
3 Replies

4. Programming

shell cursor operations

Hi I need to save the actual cursor position into variable in my script. How can I do it ? thx for help. (1 Reply)
Discussion started by: presul
1 Replies

5. Shell Programming and Scripting

String operations

Hi All, can you tell me how to drop all preceding zeros in a number. For example, if i have a numbers like 000876838347 and 0000007854762543..how to make them as 876838347 and 7854762543. (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies

6. Shell Programming and Scripting

Help on shell script (string operations)

Hey everyone. So the background of the problem is that the ps3 does not support the mkv container, but DOES support the avi one. Here is the script to convert one file with the name hardcoded in: #!/bin/sh mencoder -oac... (2 Replies)
Discussion started by: wua05
2 Replies

7. UNIX for Dummies Questions & Answers

AlphaNumeric String Operations

Hi :) I am writing a ksh I have a string of general format A12B3456CD78 the string is of variable length the string always ends with numbers (here it is 78.. it can be any number of digits may be 789 or just 7) before these ending numbers are alphabets (here it is CD can even be... (3 Replies)
Discussion started by: lakshmikanth
3 Replies

8. UNIX for Dummies Questions & Answers

File operations

Hi I have a tab delimited file with 3 fields. I need to sort this file on the first field and remove all the records where the first field has dulplicates. For eg my file is 133|arrfdfdg|sdfdsg 234|asfsdgfs|aasdfs 133|affbfsde|dgfg When this file gets sorted I need the result to be ... (2 Replies)
Discussion started by: monks
2 Replies

9. Shell Programming and Scripting

String Operations

Hi All, Query 1 : I want to know how we can get a count of multipe occurrences of a particular expression in another string. For Eg. If my string is " 12" and i need to count the number of spaces preceeding 12 Query 2 : Also want to know how we can change the alignment of a... (9 Replies)
Discussion started by: Rohini Vijay
9 Replies

10. Shell Programming and Scripting

File operations

Hi there, I want some help on scripting regarding file processing. I have a scenario in which I have 10 files. (file1.txt, file2.txt....) and they are in paricular format. I want to read these files and append some text lines at the begining of each file and write this updated contents of... (2 Replies)
Discussion started by: chiragmistry21
2 Replies
Login or Register to Ask a Question

Featured Tech Videos