I need to examine a huge CDR file according to a complex (at least for me) condition like below and i couldnt write anything
In CDR file there are more than hundreds of fields, I need to print the rows which matches the below condition:
while $13 field of subsequent CDRs are equal to eachother and when $NF == 202 ||500 then check if $3 of the lines and decide which of those $3 fields are smaller or bigger and sort it from smaller to bigger, data:
Id like to have the output
because above two rows has same $3 (gsm no) and $NF of them are 202 and 500 in turn (it could be opposite too ; 500 and 202) so the smaller of 3rd fields comes first in output..
1) only records that should be printed are the ones with matching field 13. If a record has no match it isn't printed.
2) matching records would be consecutive in the input.
If all 202/500 records are to be printed, regardless of whether or not there was a matching record based on field 13, then comment out the first two lines (if and return) in the print_set function.
Not sure if this is easier/faster:
after sorting the infile on fields 13 and 3, uniq -D will kill lines with field 13 unique, resulting in what you cited as desired output:
Last edited by RudiC; 07-28-2012 at 02:28 PM..
Reason: grepped 202|500 @ EOL
Scrutinizer if the fields "500" and "202" wouldnt be consequtive in CDR files then would it be so diffucult to reach the same output? I guess it would be a long process to check 500 or 202 fields of same gsm_no in same file as there would be tousands of CDR rows in a file and the desired rows could come several hundred rows after the other one) corrcect?
Hi,
I am in a terrible emergency. I have multiple cdr files with line count >6000.
I need to append |0| | | | | | | |random| to end of each line. The random number should never repeat.
Please help with a shell script to process all cdr's in a directory with above requirement. (23 Replies)
Hi All,
I have one file with two columns separated by tab.
I need to search for second column value of this file in the 5 column of another file. If the match is found replace the 5th column of second file with entire row of the first file.
e.g.
file1
123 D.abc
234 D.rde
4563 ... (2 Replies)
Hi All,
I need to find the date 19days back from the current date:
eg: if today is 17 March 2013
then the output should be : 26 Feb 2013
Can i do this using date command in Korn Shell?
And also if i need future 15 days date from current date, how to that?
Any help appreciated :)
... (3 Replies)
Hi Everyon,
I am stuck in a script.I have a file named file1.txt as given below:
It contains 2 columns-count and filename.
cat file1.txt
count filename
100 A_new.txt
1000 A_full.txt
1100 B_new.txt
2000 B_full.txt
1100 C_new.txt
2000 C_full.txt
...................
..................... (10 Replies)
I am sending the data in userfile and colfile from ksh script to pl/sql script
linto an array with this command
grep '' $userfile |awk '{print "my_user_id("FNR") := '$SQL_QUOTE'"$1"'$SQL_QUOTE';"}' >> $SQL_TEMP_FILE
grep '^\{1,10\}$' $colfile | awk '{print "my_col_id("NR") := "$1";"}' >>... (0 Replies)
Hi,
I need to do croning in PHP to generate a CDR (Call Details Record) file daily from the mysql database.
The CDR file has to be named in a certain sequence such as xx00000xxx200604080850.cdr. A new file is written every day.
The generated CDR file is then ftp over to a server.
I am... (0 Replies)
HI all,
I am relatively new to Unix Shell Scripts ...
I want to know how u can calculate the differnece between the 2 dates.
As if in Oracle by using SYSDATE u get current date and time ..
How one can achieve it in Unix ?
Thanks.. (1 Reply)
ive looked around for software to do this in linux, but am still not sure how to. i want to be able to mount a cdr and write to it and be able to take the disk out and finish writing whatever i want to it at a later time. can we do this in linux? (4 Replies)