optimizing - to find the number of occurrence


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers optimizing - to find the number of occurrence
# 8  
Old 01-09-2007
Code:
Hope this is what you intended for

Not at all!

Thanks for the reply!

The above commands will take more time ( really so much of time ! )

Am testing with sample of 10 billion records.

So many process and kernel data structures will take days together to complete

Smilie Smilie
# 9  
Old 03-03-2009
I found the unix command to be useful.

cat filename | sort | uniq -c | sort -nr

What if I am using a tab-delimited text file with multiple columns?

Example:

S100A16 hsa-miR-125a-3p S100A16 0.0011959 0.768059
PBXIP1 hsa-miR-125a-3p PBXIP1 0.0199898 0.700326
CYB5R3 hsa-miR-125a-3p CYB5R3 0.0081174 0.748953
BEST3 hsa-miR-125a-3p BEST3 0.00148927 0.756234
FAM101A hsa-miR-125a-3p FAM101A 0.0196212 0.783555
KIAA0195 hsa-miR-125a-3p KIAA0195 0.0019755 0.747427
LLGL2 hsa-miR-125a-3p LLGL2 0.0248212 0.876563
FBLN5 hsa-miR-125a-3p FBLN5 0.0162988 0.776446
IFITM3 hsa-miR-125a-3p IFITM3 0.00896808 0.478704
SSH3 hsa-miR-125a-3p SSH3 0.0301693 0.836054
EXTERNAL_NAME SEQ EXTERNAL_NAME p-value(1 vs. 2) Ratio(1 vs. 2)
EMILIN1 hsa-miR-369-5p EMILIN1 0.0254294 0.720094
ADD3 hsa-miR-369-5p ADD3 0.0184075 0.742096
AIFM2 hsa-miR-369-5p AIFM2 0.00646348 0.829228
GPT2 hsa-miR-369-5p GPT2 0.00473291 0.706895

and I want the output to read

10 hsa-miR-125a-3p
4 hsa-miR-369-5p
1 SEQ

Initially, I made a new file, composing only the column of interest, using perl (column 1 here), named it filenam_list; then applied the

cat filenam_list | sort | uniq -c | sort -nr > filename_counts
rm filenam_list

Is there a more efficient way of doing this? I'm sure there has to be. I repeated the procedure on 7 files and I have to it again.
# 10  
Old 03-06-2009
I think I found and answer to my own question. You specify the column of interest

Quote:
perl -e '
$col=1;
while (<>) {
s/\r?\n//;
@F = split /\t/, $_;
$val = $F[$col];
if (! exists $count{$val}) {
push @order, $val
}
$count{$val}++;
}
foreach $val (@order) {
print "$val\t$count{$val}\n"
}
warn "\nPrinted number of occurrences for ", scalar(@order), " values in $. lines.\n\n";
' filename1 > newfilename
# 11  
Old 03-06-2009
If you don't have anything against (n|g)awk, simply do:

Code:
awk '{_[$2]+=1}END{for(i in _) print _[i], i}' file

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Optimizing find with many replacements

Hello, I'm looking for advice on how to optimize this bash script, currently i use the shotgun approach to avoid file io/buffering problems of forks trying to write simultaneously to the same file. i'd like to keep this as a fairly portable bash script rather than writing a C routine. in a... (8 Replies)
Discussion started by: f77hack
8 Replies

2. Shell Programming and Scripting

awk or other way to find out number of occurrence of 7th character

Hi all, I am looking for to filter out based on 7th character and list the number of occurrence based on the 7th character if p , d , o or m 1. if 7th character is p , Output should be: p_hosts = N 2. if 7th character is d , Output should be: d_hosts = N 3. if 7th character is o , Output... (10 Replies)
Discussion started by: rveri
10 Replies

3. Shell Programming and Scripting

awk to find the number of occurrence

My file contains like this on 10 th line NM1*IL*1* awk '/NM1/{print NR}' *.dat output is 10 awk '/NM1*IL*1*/{print NR}' *.dat output is Nothing but im expecting 10 on second code as well . (4 Replies)
Discussion started by: Rajesh_us
4 Replies

4. Shell Programming and Scripting

How to count the occurrence of a number?

Hi, I have a file which contained a set of numbers like Col1 col2 col3 col4 1 sa 13 0 2 sb 14 0 3 sc 15 9 4 sd 16 -9 5 sd 20 -2 6 sd 20 4 Here in last column I need to count the zeros, positive values and negative values, please help me to do that. (2 Replies)
Discussion started by: Shenbaga.d
2 Replies

5. Shell Programming and Scripting

number of occurrence

: i need a bash script to convert the displayed output 12 14 15 12 15 13 to 12 * 2 ,13 * 1,14*1,15*1 Thanks, nevil (2 Replies)
Discussion started by: nevil
2 Replies

6. Shell Programming and Scripting

Count number of occurrence at each line

Hi I have the following file ENST001 ENST002 4 4 4 88 9 9 ENST004 3 3 3 99 8 8 ENST009 ENST010 ENST006 8 8 8 77 8 8 Basically I want to count how many times ENST* is repeated in each line so the expected results is 2 1 3 Any suggestion please ? (4 Replies)
Discussion started by: fuad_
4 Replies

7. Shell Programming and Scripting

find string nth occurrence in file and print line number

Hi I have requirement to find nth occurrence in a file and capture data from with in lines (between lines) Data in File. <QUOTE> <SESSION> <ATTRIBUTE NAME='Parameter Filename' VALUE='file1.parm'/> <ATTRIBUTE NAME='Service Name' VALUE='None'/> </SESSION> <SESSION> <ATTRIBUTE... (6 Replies)
Discussion started by: tmalik79
6 Replies

8. Shell Programming and Scripting

Uniq adresses with number of occurrence

Alo I have a file with a lot of addresses where I want to list unique addresses and the number of theirs occurrence. I have this input file: 0011bd09 ea 01 0b 04 ea 01 0b 38-bd 11 00 98 15 cb 01 00 .......8........ 0011bd09 ea 11 00 98 15 cb 01 00-00 00 00 d8 3d 8d 01 94 ... (5 Replies)
Discussion started by: chitech
5 Replies

9. UNIX for Dummies Questions & Answers

line number of the i-th occurrence of a pattern

Hi all, is there a simple way to obtain the line number of the i-th occurrence of a pattern? I have OCCURRENCE=`grep -io "${STRING_NAME}" ${1}-${8}${EXT}.out_bis| wc -l` which tells me how many occurency I have. I would like to go through them and determine the line number and assign... (6 Replies)
Discussion started by: f_o_555
6 Replies

10. UNIX for Dummies Questions & Answers

Line number of an occurrence using grep

Hi All, is there a way to extract the line number of an occurrence using grep? I know that with the -n option it prints out the line number as well. I would like to assign the line number to a variable. Thanks, Sarah (5 Replies)
Discussion started by: f_o_555
5 Replies
Login or Register to Ask a Question