Count lowercase in a word


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Count lowercase in a word
# 1  
Old 06-25-2008
Count lowercase in a word

I have a file like:


aabbccddDDCCDDCCaabbcc 123
CCaaCCBBCCaaaaaaaCCCaa 234
CCDDCCAACCCCccccccccaa 999

I'd like to print out the 1st word followed by the number of lowercase characters in that word. The words only consist of a few letters.

I was trying something like

awk '{a+=gsub(a,a) b+=gsub(b,b) c+=gusb(c,c) d+=(gsub(
d,d) x=(a+b+c+d) END {print $1, X}' infile >outfile


Thanks so much for your help.
# 2  
Old 06-25-2008
Code:
echo 'aabbccddDDCCDDCCaabbcc' | awk '{print $0, gsub("[a-z]", ".")}'

# 3  
Old 06-25-2008
I'm using Bash and going with:

awk '{print $1, gsub("[a-z]", ".")}' infile > outfile

appears to be counting all the letters not just the lowercase letters

Thank you
# 4  
Old 06-25-2008
going with [a,b,c,d] worked for some reason so I'll just use that.


Thanks so much.

Smilie
# 5  
Old 06-25-2008
The following works in ksh93 and should also work in bash.
Code:
#!/usr/bin/ksh93

while read str num
do
   strU=${str//[^A-Z]}
   print "${str} ${#strU}"
done < file

On your sample file, it produces the following output
Code:
aabbccddDDCCDDCCaabbcc 8
CCaaCCBBCCaaaaaaaCCCaa 11
CCDDCCAACCCCccccccccaa 12

# 6  
Old 06-26-2008
another way to do this

Code:
# cat aaa
aabbccddDDCCDDCCaabbcc 123
CCaaCCBBCCaaaaaaaCCCaa 234
CCDDCCAACCCCccccccccaa 999

# for i in `cut -f1 aaa -d ' '`; do echo -n "$i "; echo -n $i | sed 's/[^a-z]//g' | wc -c; done
aabbccddDDCCDDCCaabbcc 14
CCaaCCBBCCaaaaaaaCCCaa 11
CCDDCCAACCCCccccccccaa 10

# 7  
Old 09-01-2008
similar but more difficult promblem

Hi,

I have a similar problem where i need to count stretches of lower- and upper-case letters within words like

ttgggcTGGCCGCCCCCCAGggc
ttgggcTGGCCGCtgggcttCCCCCAGggc

the output could look like:

ttgggcTGGCCGCCCCCCAGggc lower 5 upper 12 lower 3
ttgggcTGGCCGCtgggcttCCCCCAGggc lower 5 upper 7 lower 6 upper 6 lower 3

any help would be appreciated,

best
robert




Quote:
Originally Posted by dcfargo
I have a file like:


aabbccddDDCCDDCCaabbcc 123
CCaaCCBBCCaaaaaaaCCCaa 234
CCDDCCAACCCCccccccccaa 999

I'd like to print out the 1st word followed by the number of lowercase characters in that word. The words only consist of a few letters.

I was trying something like

awk '{a+=gsub(a,a) b+=gsub(b,b) c+=gusb(c,c) d+=(gsub(
d,d) x=(a+b+c+d) END {print $1, X}' infile >outfile


Thanks so much for your help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

UNIX script to check word count of each word in file

I am trying to figure out to find word count of each word from my file sample file hi how are you hi are you ok sample out put hi 1 how 1 are 1 you 1 hi 1 are 1 you 1 ok 1 wc -l filename is not helping , i think we will have to split the lines and count and then print and also... (4 Replies)
Discussion started by: mirwasim
4 Replies

2. Shell Programming and Scripting

SED (or other) upper to lowercase, with first letter of first word in each sentence uppercase

The title pretty much defines the problem. I have text files that are all in caps. I would like to convert them to lowercase, but have the first letter of the first word in each sentence in uppercase. I already have SED on the server for fixing / tweaking text files, but I'm open to other... (5 Replies)
Discussion started by: dockline
5 Replies

3. UNIX for Dummies Questions & Answers

word count with grep

Hi, It is very interesting to learn the unix, i just struck with a doubt like i have below content in my file xyz xyz xyz xyz i just want know the word count by using grep -wc 'xyz' <filename>, but it is giving 3 instead of 4.So i understood that it is showing matched line numbers count... (2 Replies)
Discussion started by: vmachava
2 Replies

4. Shell Programming and Scripting

if, word count

Hi, I need to count the lines of a file stack.html and if the amount lines i want to do something. At this moment, I have if ; then ... This is not working. Any ideas? Thanks! (3 Replies)
Discussion started by: azertyazerty
3 Replies

5. UNIX for Advanced & Expert Users

Word count

Script that lists all words used in one or more files and displays their count (pattern /\W+/ to split the lines of the input file into words can b used).. It should display list in format word:count...gets Filename as an cmd line argument! eg: $perl test doc (where doc is d file we are going to... (4 Replies)
Discussion started by: aadi_uni
4 Replies

6. Shell Programming and Scripting

Word count of lines ending with certain word

Hi all, I am trying to write a command that can help me count the number of lines in the /etc/passwd file ending in bash. I have read through other threads but am yet to find one indicating how to locate a specifc word at the end of a line. I know i will need to use the wc command but when i... (8 Replies)
Discussion started by: warlock129
8 Replies

7. Fedora

word count wc

could someone explain this please. echo aaaa|wc -c 5 echo aaaa|wc -m 5 But I'd expect the count to be 4 Its SunOS 5.8 Thanks in Advance. (5 Replies)
Discussion started by: chaandana
5 Replies

8. UNIX for Dummies Questions & Answers

Word Count

Hi All, Please let me know how to get the count of a particular word in a file. Example. I am looking for count of word 'result' in a file abc.xml. Thanks, Shankar (10 Replies)
Discussion started by: s_chowhan
10 Replies

9. Shell Programming and Scripting

specified word count

hi iam trying to do a specified word count on file called text i have a few ideas but don't get the result i want do any one have a idea please help i have this at the moment cat text echo "Please enter the word you are looking for:" read string echo "the word < $string > occurs in... (5 Replies)
Discussion started by: bhaviknp
5 Replies

10. UNIX for Dummies Questions & Answers

count word

hi, given a file i need to get the first line and secodn line and count each of the line whether the length of first line and second line is the same i don;t know how to get the length of the line...seems like use 'wc' cannot do it... please advice (1 Reply)
Discussion started by: ariuscy
1 Replies
Login or Register to Ask a Question