Visit Our UNIX and Linux User Community

regular expression help

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting regular expression help
# 1  
Old 02-28-2005
regular expression help

hello all.. I'm a bit new to this site.. and I hope to learn alot.. but I've been having a hard time figuring this out. I'm horrible with regular expressions.. so any help would be greatly appreciated.

I have a file with a list of names like this: LASTNAME, FIRSTNAME, MIDDLEINITIAL

how can I write a script to have the it: Firstname, Middleinitial, Lastname ?

I have around 30ish names. The first letter needs to be capitalized and the rest lowercase.. I've been having a horrible time trying to figure this out.. I would really appreciate some help with this.
# 2  
Old 02-28-2005
According to our rules:
(6) Do not post classroom or homework problems.
# 3  
Old 02-28-2005
it's not really a classwork or homework problem..

it's like one that we have to do.. but it's not it.. like I said, I'm horrible at reg ex's.. and any hints or anything would really help
# 4  
Old 02-28-2005
I would not use a regular expression at all for this problem. I would just use ksh. It can easily read 3 words from a line and write them out in a different order. It can also split off a leading character from a word and there are plenty of example of that on this site. Look at ksh's "typeset -l" and "typeset -u" to automaticly enforce one case or another. At most, this looks like a 20 line ksh script.
# 5  
Old 02-28-2005
thanks.. that looks like it's alot easier than what I was trying to do.

I was looking at using the awk statement, finding someway to copy the first char of the parameter then use the [[:lower:]] command
# 6  
Old 03-01-2005
ok. Try this as,

awk -F , '{ la=substr($1,1,2);lb=substr($1,3); fa=substr($2,1,2);fb=substr($2,3); ma=substr($3,1,2);mb=substr($3,3); print fa""tolower(fb)", "ma""tolower(mb)", "la""tolower(lb) }' <filename>

For Example as,

# echo " LASTNAME, FIRSTNAME, MIDDLEINITIAL" | awk -F , '{ la=substr($1,1,2);lb=substr($1,3); fa=substr($2,1,2);fb=substr($2,3); ma=substr($3,1,2);mb=substr($3,3); print fa""tolower(fb)", "ma""tolower(mb)", "la""tolower(lb) }'
Firstname, Middleinitial, Lastname


Previous Thread | Next Thread
Test Your Knowledge in Computers #1000
Difficulty: Medium
Trusted Computer System Evaluation Criteria (TCSEC) is frequently referred to as the Red Book.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular expression

I would like to extract "JDBC Thin Client" from (PROGRAM=JDBC Thin Client); and "C:\Python26\python.exe" from (PROGRAM=C:\Python26\python.exe); "" from ( if input line like "(PROGRAM=)", it return unknown. Would you help suggest a regular... (4 Replies)
Discussion started by: cstsang
4 Replies

2. Shell Programming and Scripting

Regular expression

Can someone please explain me what does this mean? ^{1,50}$ (1 Reply)
Discussion started by: Anupam_Halder
1 Replies

3. UNIX for Dummies Questions & Answers

Regular expression help

Hi, I am quite knew to scripting and I am trying to get a regular expression to work to check that a user enters a valid version number such as 1 or 1.1 or 12.3 etc. I dont seem to be able to get it to work as it picks up versions such as 1.......2. I only want it to work with a single dot.... (12 Replies)
Discussion started by: frodo61
12 Replies

4. UNIX for Advanced & Expert Users

sed: -e expression #1, char 0: no previous regular expression

Hello All, I'm trying to extract the lines between two consecutive elements of an array from a file. My array looks like: problem_arr=(PRS111 PRS213 PRS234) j=0 while } ] do k=`expr $j + 1` sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt ---some operation goes... (11 Replies)
Discussion started by: InduInduIndu
11 Replies

5. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

6. Shell Programming and Scripting

Integer expression expected: with regular expression

CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error. source $CA_VERSION_DATA if * ] then echo "CA_RELESE $CA_RELEASE is invalid" exit -1 fi + source /etc/ncgl/ca_version_data ++ CA_PRODUCT_ID=samxts ++ CA_RELEASE=6 ++ CA_WEEK_NO=7 ++... (3 Replies)
Discussion started by: ketkee1985
3 Replies

7. UNIX for Dummies Questions & Answers

ls with regular expression

I currently list and sort all the files in a directory which begin with an Upper Case C and end with the extension '#finished#'. Here is the command I use: ls -tr $currentDir/*.#finished# what i need to do now is list all the files in a directory that begin with upper case C and end... (3 Replies)
Discussion started by: rkgudde
3 Replies

8. Linux

Regular expression to extract "y" from "abc/x.y.z" .... i need regular expression

Regular expression to extract "y" from "abc/x.y.z" (2 Replies)
Discussion started by: rag84dec
2 Replies

9. Programming

What does the regular expression ['(^[^~]+~).*'] mean?

What does the regular expression +~).*'] mean while using it with regexec.When the string "RCHNUSNT35C~rs07/ASM-RS07" is used with the regular expression +~).*'] regexec gives an error. I know what regexec does,but i do not understand what this expression means wrt to this string... any help... (2 Replies)
Discussion started by: anupamar
2 Replies

10. Shell Programming and Scripting

Regular Expression + Aritmetical Expression

Is it possible to combine a regular expression with a aritmetical expression? For example, taking a 8-numbers caracter sequece and casting each output of a grep, comparing to a constant. THX! (2 Replies)
Discussion started by: Z0mby
2 Replies

Featured Tech Videos