Add number of occurence


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Add number of occurence
# 1  
Old 09-16-2015
Add number of occurence

Good morning, I need help to add number of occurence based on column 1 & column 5

file input
Code:
81161267334|1|100000|81329998077|20150902
81161267334|1|50000|82236060161|20150902
81161268637|1|25000|81329012229|20150911
81161269307|1|25000|81327019134|20150901
81161269307|1|25000|81328309109|20150905
81161269307|1|25000|85239333736|20150908
81161269307|1|100000|81313991122|20150913
81161414275|1|50000|82187797112|20150903
81161414275|1|50000|82187797112|20150903
81161414275|1|50000|82238727677|20150903
81161414275|1|25000|82358092103|20150904
81161414275|1|50000|82187206169|20150905
81161414275|1|50000|82238727677|20150905
81161414275|1|25000|81241183717|20150905
81161414275|1|25000|81340850588|20150905
81161414275|1|50000|81354897982|20150908
81161414275|1|100000|82292121045|20150911
81161414275|1|50000|81342631555|20150912
81161416856|1|50000|81241282054|20150912
81161447387|1|50000|82192141007|20150901
81161447387|1|50000|85333777497|20150901
81161447387|1|50000|81241633253|20150902
81161447387|1|50000|82292161069|20150903
81161447387|1|25000|85397300602|20150905
81161447387|1|50000|82191911002|20150906
81161447387|1|25000|85256849437|20150906
81161447387|1|25000|85222222506|20150907
81161447387|1|50000|85325354000|20150908
81161447387|1|50000|82292161069|20150909
81161447387|1|50000|82348480606|20150911
81161447387|1|25000|82187158088|20150912
81161447387|1|25000|82346462000|20150913
81161455642|1|100000|81331425198|20150901

When column 1st and column 5th are identical, then we add '1' and the '2' for the next identical columns 1st & 5th. When column 1st & 5th are different, then always add 1

Output
Code:
81161267334|1|100000|81329998077|20150902|1
81161267334|1|50000|82236060161|20150902|2
81161268637|1|25000|81329012229|20150911|1
81161269307|1|25000|81327019134|20150901|1
81161269307|1|25000|81328309109|20150905|1
81161269307|1|25000|85239333736|20150908|1
81161269307|1|100000|81313991122|20150913|1
81161414275|1|50000|82187797112|20150903|1
81161414275|1|50000|82187797112|20150903|2
81161414275|1|50000|82238727677|20150903|3
81161414275|1|25000|82358092103|20150904|1
81161414275|1|50000|82187206169|20150905|1
81161414275|1|50000|82238727677|20150905|2
81161414275|1|25000|81241183717|20150905|3
81161414275|1|25000|81340850588|20150905|4
81161414275|1|50000|81354897982|20150908|1
81161414275|1|100000|82292121045|20150911|1
81161414275|1|50000|81342631555|20150912|1
81161416856|1|50000|81241282054|20150912|1
81161447387|1|50000|82192141007|20150901|1
81161447387|1|50000|85333777497|20150901|2
81161447387|1|50000|81241633253|20150902|1
81161447387|1|50000|82292161069|20150903|1
81161447387|1|25000|85397300602|20150905|1
81161447387|1|50000|82191911002|20150906|1
81161447387|1|25000|85256849437|20150906|2
81161447387|1|25000|85222222506|20150907|1
81161447387|1|50000|85325354000|20150908|1
81161447387|1|50000|82292161069|20150909|1
81161447387|1|50000|82348480606|20150911|1
81161447387|1|25000|82187158088|20150912|1
81161447387|1|25000|82346462000|20150913|1
81161455642|1|100000|81331425198|20150901|1

thanks
# 2  
Old 09-16-2015
Hello radius,

Following may help you in same.
Code:
awk -F"|" '{A[$1 FS $5]++;print $0 FS A[$1 FS $5]}' Input_file

Output will be as follows.
Code:
81161267334|1|100000|81329998077|20150902|1
81161267334|1|50000|82236060161|20150902|2
81161268637|1|25000|81329012229|20150911|1
81161269307|1|25000|81327019134|20150901|1
81161269307|1|25000|81328309109|20150905|1
81161269307|1|25000|85239333736|20150908|1
81161269307|1|100000|81313991122|20150913|1
81161414275|1|50000|82187797112|20150903|1
81161414275|1|50000|82187797112|20150903|2
81161414275|1|50000|82238727677|20150903|3
81161414275|1|25000|82358092103|20150904|1
81161414275|1|50000|82187206169|20150905|1
81161414275|1|50000|82238727677|20150905|2
81161414275|1|25000|81241183717|20150905|3
81161414275|1|25000|81340850588|20150905|4
81161414275|1|50000|81354897982|20150908|1
81161414275|1|100000|82292121045|20150911|1
81161414275|1|50000|81342631555|20150912|1
81161416856|1|50000|81241282054|20150912|1
81161447387|1|50000|82192141007|20150901|1
81161447387|1|50000|85333777497|20150901|2
81161447387|1|50000|81241633253|20150902|1
81161447387|1|50000|82292161069|20150903|1
81161447387|1|25000|85397300602|20150905|1
81161447387|1|50000|82191911002|20150906|1
81161447387|1|25000|85256849437|20150906|2
81161447387|1|25000|85222222506|20150907|1
81161447387|1|50000|85325354000|20150908|1
81161447387|1|50000|82292161069|20150909|1
81161447387|1|50000|82348480606|20150911|1
81161447387|1|25000|82187158088|20150912|1
81161447387|1|25000|82346462000|20150913|1
81161455642|1|100000|81331425198|20150901|1

Thanks,
R. Singh
# 3  
Old 09-16-2015
Code:
awk  'BEGIN{FS=OFS="|"}{print $0,++a[$1,$5]}' infile

# 4  
Old 09-16-2015
The following assumes that the "identical" lines are always adjacent (like in the given example):
Code:
awk 'BEGIN { FS=OFS="|" } ($1!=p1 || $5!=p5) { cnt=0 } { print $0, ++cnt } { p1=$1; p5=$5 }'

It stores only two variables (the previous fields) in memory regardless how long the input is.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Print occurence number

Hi folks, I have a file with lots of lines in a text file,i need to print the occurence number after sorting based on the first column as shown below, thanks in advance. sam,dallas,20174 sam,houston,20175 sam,atlanta,20176 jack,raleigh,457865 jack,dc,7845 john,sacramento,4567 ... (4 Replies)
Discussion started by: tech_frk
4 Replies

2. Programming

Python Count Number Of Occurence

Hello, I have a programming assignment to count number of occurrences of hours in particular file. Below is the code: fname = raw_input("Enter file name: ") if len(fname) < 1 : fname = "mbox-short.txt" largest = None fh = open(fname) counts = dict() test = list() for line in fh: ... (2 Replies)
Discussion started by: infinitydon
2 Replies

3. Shell Programming and Scripting

Split column into two on first occurence of any number

Input : abc def 1 xyz zzz bca cde 2 yyy xxx Expected output : abc def |1 xyz zzz bca cde |2 yyy xxx I have tried the command below and losing the number. Any help is greatly appreciated 1. sed 's//|/' num.txt Result: abc def | xyz zzz bca cde |... (7 Replies)
Discussion started by: kbsuryadev
7 Replies

4. Shell Programming and Scripting

Count number of character occurence but not from quotation marks

I have the following string: 31-01-2012, 09:42:37;OK;94727132638;"Mozilla/5.0 (Linux; U; Android 2.2.1)";3G;WAP;I need a script which is counting the occurrence of semicolons ( ; ) but exclude the ones from the quotation marks. In the string given as example there are 8 semicolons but the script... (3 Replies)
Discussion started by: calinlicj
3 Replies

5. Shell Programming and Scripting

Number each occurence using sed

hi, I need to number each occurrence of a pattern within a file using sed. Given object 0000 object 111 object 222 I need following 1.object 0000 2.object 111 3.object 222 (5 Replies)
Discussion started by: xerox
5 Replies

6. Shell Programming and Scripting

finding the number of occurence of a word in a line

suppose i have this line abs|der|gt|dftnrk|dtre i want to count the number of "|" in this line.. how can i do that. plz help:confused: (9 Replies)
Discussion started by: priyanka3006
9 Replies

7. UNIX for Dummies Questions & Answers

number of occurence using grep -c then assigning it to a variable

Hi guys! I need to count the occurence of a certain pattern. For example the pattern is PC. the contents of the file sample.txt: A PC asdfgadfjkl asdfa PC sadfaf fdsPCasdfg if i use grep -c PC sample.txt it will display 3 as the number of occurence how do i save that number to a... (1 Reply)
Discussion started by: khestoi
1 Replies

8. UNIX for Dummies Questions & Answers

grep the number of first occurence

File1.txt ....... ....... OMC LA OMC LK OMC LS ........ ........ Above is the content of File1.txt, i want to get the Number of Occurence to order, lets say if OMC LA = 1, OMC LS=3, and OMC LK=2.. omc_ident="OMC LA" or "OMC LK" or "OMC LS" omc_num=`grep '^OMC' File1.txt| grep... (4 Replies)
Discussion started by: neruppu
4 Replies

9. Shell Programming and Scripting

first occurence and line number

Hi, My objective is to get the line number of the first occurance of the search pattern. my test.txt contains: ..... .................. total rows.... ................... .. total rejected rows: 40 total rejected rows: 50 total rejected rows: 80 total rejected rows: 90 total... (9 Replies)
Discussion started by: mercuryshipzz
9 Replies

10. Shell Programming and Scripting

Count the number of occurence of perticular word from file

I want to count the number of occurence of perticular word from one text file. Please tell me "less" command is work in ksh or not. If it is not working then instead of that which command will work. :confused: (40 Replies)
Discussion started by: rinku
40 Replies
Login or Register to Ask a Question