Script to count character present in a line


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Script to count character present in a line
# 1  
Old 11-08-2012
Script to count character present in a line

Suppose i have multiple line like below in a file.
ASDFAFAGAHAHAHA
AGAHAHAJGAFAGAH
AHAHAKAHAHAHAKA
I need a bash script to count a character and also Also count the number of character present in each line .
suppose for line 1: A=x, S=y, D=x and so on and total character=15. where x y and z is the occurance in line 1. I need to do for all line in same fashion.

I will be thankful if anyone can help me.

regards,
XXlMMN
# 2  
Old 11-08-2012
Is this what you want..?

Code:
awk -F "" '{for(i=1;i<=NF;i++){X[$i]++}for(i in X){s=s?s" "i" "X[i]:i" "X[i];delete X[i]}print NF,s;s=""}' file


Code:
awk '{for(i=1;i<=length($0);i++){X[substr($0,i,1)]++}for(i in X){s=s?s" "i" "X[i]:i" "X[i];delete X[i]}print length($0),s;s=""}' file

This User Gave Thanks to pamu For This Post:
# 3  
Old 11-08-2012
Quote:
Originally Posted by pamu
Is this what you want..?

Code:
awk -F "" '{for(i=1;i<=NF;i++){X[$i]++}for(i in X){s=s?s" "i" "X[i]:i" "X[i];delete X[i]}print NF,s;s=""}' file


Code:
awk '{for(i=1;i<=length($0);i++){X[substr($0,i,1)]++}for(i in X){s=s?s" "i" "X[i]:i" "X[i];delete X[i]}print length($0),s;s=""}' file

Thank you for help but can i print like A=x instead A x
# 4  
Old 11-08-2012
Quote:
Originally Posted by XXLMMN
Thank you for help but can i print like A=x instead A x
Yes..Smilie

Just replace space with =

Code:
awk -F "" '{for(i=1;i<=NF;i++){X[$i]++}for(i in X){s=s?s" "i"="X[i]:i"="X[i];delete X[i]}print NF,s;s=""}' file

Code:
awk '{for(i=1;i<=length($0);i++){X[substr($0,i,1)]++}for(i in X){s=s?s" "i"="X[i]:i"="X[i];delete X[i]}print length($0),s;s=""}' file

This User Gave Thanks to pamu For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Count specific character of a file in each line and delete this character in a specific position

I will appreciate if you help me here in this script in Solaris Enviroment. Scenario: i have 2 files : 1) /tmp/TRANSACTIONS_DAILY_20180730.txt: 201807300000000004 201807300000000005 201807300000000006 201807300000000007 201807300000000008 2)... (10 Replies)
Discussion started by: teokon90
10 Replies

2. UNIX for Dummies Questions & Answers

Getting the character count of the last line

I need the character count of the last line of each file in a directory, and not the total. Now I have been doing this but unfortunately, -exec doesn't support pipes: find sent/ -type f -exec tail -1|wc -c {} \; If I try this: find sent/ -type f -exec tail -1 {} \; | wc -c It will give... (6 Replies)
Discussion started by: MIA651
6 Replies

3. Shell Programming and Scripting

Character count of each line

Hi, I have a file with more than 1000 lines. Most of the lines have 16 characters. I want to find out lines that have less than 14 characters (usually 12 or 13). wc -l gives me the line count and wc -c gives me the total characters in a file. I could not get the total characters for each line.... (1 Reply)
Discussion started by: bobbygsk
1 Replies

4. Shell Programming and Scripting

Delete line based on count of specific character

I'm looking for what I hope might be a one liner along these lines: sed '/a line with more than 3 pipes in it/d' I know how to get the pipe count in a string and store it in a variable, but I'm greedy enough to hope that it's possible via regex in the /.../d context. Am I asking too much? ... (5 Replies)
Discussion started by: tiggyboo
5 Replies

5. Shell Programming and Scripting

Count character in one line

Please check the attachment for the example. Purpose: count how many "|" character in one line and also display the line number. expect result: Line 1 : there are 473 "|" characters Line 2 : there are 473 "|" characters I have tried to use awk to count it, it's ok when the statistic... (8 Replies)
Discussion started by: ambious
8 Replies

6. UNIX for Advanced & Expert Users

Count specific word or character per line

Hi, I need help regarding counting specific word or character per line and validate it against a specific number i.e 10. And if number of character equals the specific number then that line will be part of the output. Specific number = 6 Specific word or char = || Sample data:... (1 Reply)
Discussion started by: janzper
1 Replies

7. Shell Programming and Scripting

awk: sort lines by count of a character or string in a line

I want to sort lines by how many times a string occurs in each line (the most times first). I know how to do this in two passes (add a count field in the first pass then sort on it in the second pass). However, can it be done more optimally with a single AWK command? My AWK has improved... (11 Replies)
Discussion started by: Michael Stora
11 Replies

8. Shell Programming and Scripting

Looking for a single line to count how many times one character occurs in a word...

I've been looking on the internet, and haven't found anything simple enough to use in my code. All I want to do is count how many times "-" occurs in a string of characters (as a package name). It seems it should be very simple, and shouldn't require more than one line to accomplish. And this is... (2 Replies)
Discussion started by: Shingoshi
2 Replies

9. UNIX for Dummies Questions & Answers

How to count the occurence of a character in a line

Suppose i have data like :- 1,2,3,4,5 a,b,c x,y,z,t I want to count the occurence of , (comma) in every line. Waiting for a solution. (5 Replies)
Discussion started by: sumit207
5 Replies

10. UNIX for Advanced & Expert Users

How to count the occurence of a character in a line

Suppose i have data like :- 1,2,3,4,5 a,b,c x,y,z,t I want to count the occurence of , (comma) in every line. Waiting for a solution.:) (1 Reply)
Discussion started by: sumit207
1 Replies
Login or Register to Ask a Question