Process file every minute


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Process file every minute
# 8  
Old 12-20-2011
Hi Corona688 ,

Yes I am looking on First In, First Out approach but not sure how to add it to my script.

Do I require to rewrite the again to add the fifo to it?
# 9  
Old 12-20-2011
Quote:
Do I require to rewrite the again to add the fifo to it?
I'm not sure what you're asking...

The idea is to remove the output file, and replace it with a fifo

Code:
# create a backup with sane permissions in case this doesn't work
tar -cpf /path/to/backup.tar /path/to/outputfile

rm /path/to/outputfile
mkfifo /path/to/outputfile

Then, whenever something tries to open and replace that file, you'll be able to read from it.

Code:
while true
do
        cat /path/to/output > /tmp/$$
        echo "Received data from /path/to/output"
        # process /tmp/$$ as you please since it won't vanish from under you
done

This is assuming it's truncating and replacing the file in the manner I expect.

If it isn't then, like methyl said, "reliable processing of transient data is impossible in Shell". I'd extend that to mean that processing transient data isn't something you should be doing, and if there isn't any other way to get the data, that's a severe flaw in whatever program you're using.
This User Gave Thanks to Corona688 For This Post:
# 10  
Old 12-20-2011
@James Owen
In this context when working with basic tools, trying to capture the contents of a transient temporary file is not a sensible system design option. Neither is trying to read any file which may be open for write by another application.

Btw. "fifo" is a unix technical term for a Named Pipe.

What other design options do you have available which involve using more sophisticated tools?
# 11  
Old 12-21-2011
Hey Guy's I have tried to use fifo but no luck, is not doing what I want to get.



@ methyl



I not sure is I understand your question correctly, Will PERL be better choice than AWK.



If so can I please get help, here a basic PERL script which parse the xml messages

Code:
while(<DATA>){
    if(/.*NAME="([^"]*).*Age="([^"]*).*D\.O\.B="([^"]*).*Gender="([^"]*).*/){
        print $1," ",$2," ",$3," ",$4,"\n";
        $age_hash{$2}++;
        $gender_hash{$4}++;
    }
}
print "\n";
foreach my $age(sort {$a<=>$b} keys %age_hash){
    print $age,": ",$age_hash{$age},"\n";
}


Please help Smilie
# 12  
Old 12-21-2011
Quote:
Originally Posted by James_Owen
Hey Guy's I have tried to use fifo but no luck, is not doing what I want to get.
What exactly is it doing?
This User Gave Thanks to Corona688 For This Post:
# 13  
Old 12-24-2011
Is more like what is it not doing?

Your suggestion of fifo is allowing to create a back up file which will store data and allows me to keep the data and process it which is not what I am after. All I want is to read from one and write to output file.

Thank for trying to help.Smilie

Smilie
# 14  
Old 12-28-2011
I am not sure if this will help but may be try and use another output file (this will be temporary file) which will allow you to store the data then may be using the AWK code you have process the data from this file. This is similar to FIFO approach but this is how I usually process files.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Monitoring processes in parallel and process log file after process exits

I am writing a script to kick off a process to gather logs on multiple nodes in parallel using "&". These processes create individual log files. Which I would like to filter and convert in CSV format after they are complete. I am facing following issues: 1. Monitor all Processes parallelly.... (5 Replies)
Discussion started by: shunya
5 Replies

2. Shell Programming and Scripting

Grep from file modified one minute ago

Hello, I have a list of files, an example below: -rw-r--r-- 1 smf_oper esg 910773 Jul 6 12:52 am1slc02_ACS_201607061242571_20346.cdr -rw-r--r-- 1 smf_oper esg 995838 Jul 6 12:52 am1slc01_ACS_201607061243125_19895.cdr -rw-r--r-- 1 smf_oper esg 557235 Jul 6 12:52... (5 Replies)
Discussion started by: nms
5 Replies

3. Shell Programming and Scripting

Want to add those that have the same minute in a file

Hi All, Need your help on how i can sum up the values. I have a file that contains the count and the time. I wanted to add up all the first column having the same datestamp. Please see below. INPUT 1721 2015-12-26 00:01 1440 2015-12-26 00:02 1477 2015-12-26 00:02 411 ... (4 Replies)
Discussion started by: ernesto
4 Replies

4. Shell Programming and Scripting

Check log file size every 10 minute. Alert if log not update

How to check log size every 10min. by script (can use crontab) if log size not change with alert "Log not update" Base run on SunOS 5.8 Generic_Virtual sun4u sparc SUNW,SPARC-Enterprise logFiles="log1.log log2.log" logLocation="/usr/home/test/log/" Out put. Tue Jan 31... (3 Replies)
Discussion started by: ooilinlove
3 Replies

5. Shell Programming and Scripting

Take minute per minute from a log awk

Hi, I've been trying to develop a script that performs the parsing of a log every 1 minute and then generating some statistics. I'm fairly new to programming and this is why I come to ask if I can lend a hand. this is my log: xxxx 16/04/2012 17:00:52 - xxxx714 - E234 - Time= 119 ms.... (8 Replies)
Discussion started by: jockx
8 Replies

6. Shell Programming and Scripting

Count of matched pattern occurences by minute and date in a log file

Anyone knows how to use AWK to achieve the following Sun Feb 12 00:41:01-00:41:59 Success:2 Fail:2 Sun Feb 12 00:42:01-00:42:59 Success:1 Fail:2 Sun Feb 12 01:20:01-01:20:59 Success:1 Fail:2 Mon Feb 13 22:41:01-22:41:59 Success:1 Fail:1 log file: Success Success Fail Fail ... (9 Replies)
Discussion started by: timmywong
9 Replies

7. UNIX for Dummies Questions & Answers

When reading a csv file, counter to read 20 lines and wait for minute then read next 20 till end

Hello All, i am a newbie and need some help when reading a csv file in a bourne shell script. I want to read 10 lines, then wait for a minute and then do a reading of another 10 lines and so on in the same way. I want to do this till the end of file. Any inputs are appreciated ... (3 Replies)
Discussion started by: victor.s
3 Replies

8. Shell Programming and Scripting

Ksh Script to get the start minute of n number of process

How can i write a script.? which lists all X process and gets the start minute of each of them. thanks (1 Reply)
Discussion started by: Anteus
1 Replies

9. Shell Programming and Scripting

Determine if file changed within last minute

Is there a simple command to find or check if a file has been modified within the last minute? The mtime parameter from find cmd only allow days. I am trying to avoid timestamp parsing and do some sort of comparison as I'm real beginner at scripts. If this is the only way, any help is greatly... (3 Replies)
Discussion started by: ystee
3 Replies

10. Programming

how can i run a process for a whole minute?

here's the problem, i have two processes that i need to run and both process should be run at a total of 1 minute each. how do i do that? and one more here's what the processes do: the 1st process show the '+" sign infinitely while the 2nd process displays the "-" infinitely. how could i count the... (1 Reply)
Discussion started by: kelogs1347
1 Replies
Login or Register to Ask a Question