Initials of a name


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Initials of a name
# 1  
Old 01-14-2012
Initials of a name

I'm stuck, so please tell me how to print the initials of a name (for ex E C for Eric Cartman).
If you could suggest a website related to string handling then that would be much appreciated too.
Thanks!
# 2  
Old 01-14-2012
just delete all uncapitalised characters:

Code:
echo "Eric Cartman" | sed "s/[a-z]//g"

# 3  
Old 01-14-2012
Thanks. But that seems like some sort of shortcut for the actual problem. If the name is given all lowercase then what? Dont consider it a name at all actually. Just print first letter of all words in an input line. It would be a shell script that way.
Anyone?
# 4  
Old 01-14-2012
It would be nice to know what context you are trying to do this in. As has been suggested, if you have a file of first and last names, just run a sed across the file. However, if you have a string, or two tokens, as a part of a loop in a programme, then the answer will be different. As an example, if you are working in ksh or bash this is much more efficient than running sed for each individual string:

Code:
full_name="Eric Clapton"
initials="${full_name//[a-z]/}"
echo "$full_name -> $initials"

If you need E.C. or E. C. you can do something like this:

Code:
echo "${initials/ /.}."
echo "${initials/ /. }."

---------- Post updated at 11:23 ---------- Previous update was at 11:16 ----------

Crossed posts with you...

Again, if you're using a Ksh like shell language, then you could just echo out the first characters like this:

Code:
full_name="Eric Clapton"
last="${full_name#* }"
echo  "${full_name:0:1} ${last:0:1}"

Login or Register to Ask a Question

Previous Thread | Next Thread

2 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Versioning up a file with initials?

I have this code that works great ... #!/bin/sh for file in "$@" do ext=${file##*.} base=${file%.*} num=${base##*v} zeroes=${num%%*} num=${num#$zeroes} #remove leading zeros, or it uses octal num=$((num+1)) base=${base%v*} ... (5 Replies)
Discussion started by: scribling
5 Replies

2. UNIX for Dummies Questions & Answers

Find a file with common initials and last words

Hi, I have a requirement like i have to find out files and remove them on a daily basis. The files are generated as abc_jnfn_201404230004.csv abc_jnfo_201404230004.csv abc_jnfp_201404230004.csv abc_jnfq_201404230004.csv abd_jnfn_201404220004.csv abe_jnfn_201404220004.csv i want to... (1 Reply)
Discussion started by: Mohammed_Tabish
1 Replies
Login or Register to Ask a Question