Imported from previous forum
Hi,
I’m new in FIX. I have an Unix command question which may not be relevant in this board. I’m in desparate need of the answer.
From the raw FIX log file I need to get those FIX messages that has sending time between 9:30am and 10:30am EST. I tried the following command and it didn’t work:
grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
Hi Mehedi Hassan,
Welcome to FIX. Every FIX question (unix/multics/dos/mvs/etc… & Java/C#/C++/C±/C/Cobol/Perl/Ruby/Diamond/etc…) is accepted as relevant in FIXProtocol.org’s discussion forums.
I am not a unix expert, so would not go into details of grep command.
Some alternatives you could look at:-
- Download QuickFIX log viewer
http://www.quickfixengine.org/quickfix-logviewer/documentation.pdf
I have used this in my previous job.
- Save as .csv file, upload to Microsoft Excel and sort on time field. This may not always work because tag 52 need not always appear in the same index position in all the messages, but with some cut and paste between .xls sheets, this works.
Please note:- I am not employed by Microsoft marketing division, as a user of Windows suite of products I should accept their products are user friendly ![]()
-
Load the log file into TextPad, use textpad search function, delete lines before your start time and after your end time.
-
If you are a programmer, then you could develop a FIX log Viewer / analyzer, this is more time consuming, but very-very flexible.
Regards,
K. Mahesh
Hi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From the
raw FIX log file I need to get those FIX messages that has sending time
between 9:30am and 10:30am EST. I tried the following command and it
didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
[ original email was from Vern Kennedy - vkennedy@uniserve.com ]
Try this
grep “52=20071210-09:|52=20071210-10:” fixlog.txt | grep “09:3|09:4|09:5|10:0|10:1|10:2|10:30”
that should get you fairly close
Hi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From the
raw FIX log file I need to get those FIX messages that has sending time
between 9:30am and 10:30am EST. I tried the following command and it
didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
Thank you both Vern and Kumar. I tried Vern’s following code and it worked.
Try this
grep “52=20071210-09:|52=20071210-10:” fixlog.txt | grep
“09:3|09:4|09:5|10:0|10:1|10:2|10:30”that should get you fairly close
Hi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From the
raw FIX log file I need to get those FIX messages that has sending
time between 9:30am and 10:30am EST. I tried the following command and
it didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
Can I use this way?:
grep “[(52=20071210-09:30:00) - (52=20071210-10:30:00)]” fixlog.txt
Try this
grep “52=20071210-09:|52=20071210-10:” fixlog.txt | grep
“09:3|09:4|09:5|10:0|10:1|10:2|10:30”that should get you fairly close
Hi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From the
raw FIX log file I need to get those FIX messages that has sending
time between 9:30am and 10:30am EST. I tried the following command and
it didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
[ original email was from Vern Kennedy - vkennedy@uniserve.com ]
That one didn’t work for me. It looks like that would be a very wide potential for matches.
Maybe try it this way:
grep -E “52=20071210-09:[3-5]|52=20071210-10:[0-2]” fixlog.txt
This should give you everything from 09:30:00 to 10:29:59
On some systems, you need the -E so that grep interprets the following string as a pattern.
Also, I have found that you can’t have spaces or the infix operator | does not seem to work how you would expect in joining the expressions. Happy grepping ![]()
Can I use this way?:
grep “[(52=20071210-09:30:00) - (52=20071210-10:30:00)]” fixlog.txt
Try this
grep “52=20071210-09:|52=20071210-10:” fixlog.txt | grep
“09:3|09:4|09:5|10:0|10:1|10:2|10:30”that should get you fairly close
Hi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From
the raw FIX log file I need to get those FIX messages that has
sending time between 9:30am and 10:30am EST. I tried the following
command and it didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
[ original email was from Alexander Rivkind - alik@btobits.com ]
With B2BITS FIX Grep you can get result using the following commands
fixgrep -f “fixlog.txt” -t “52” “20071210-09:30:00” “20071210-10:30:00” -list
or
cat fixlog.txt | fixgrep -t “52” “20071210-09:30:00” “20071210-10:30:00” -list
Hi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From the
raw FIX log file I need to get those FIX messages that has sending time
between 9:30am and 10:30am EST. I tried the following command and it
didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
We use custom FIX engine, so I don’t think B2BITS FIX Grep will work in our environment. Please let me know your feedback.
With B2BITS FIX Grep you can get result using the following commands
fixgrep -f “fixlog.txt” -t “52” “20071210-09:30:00” “20071210-
10:30:00” -listor
cat fixlog.txt | fixgrep -t “52” “20071210-09:30:00” “20071210-
10:30:00” -listHi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From the
raw FIX log file I need to get those FIX messages that has sending
time between 9:30am and 10:30am EST. I tried the following command and
it didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?
[ original email was from Alexander Rivkind - alik@btobits.com ]
As soon as you store raw FIX message as is to log file B2BITS FIX Grep will be able to extract it.
We use custom FIX engine, so I don’t think B2BITS FIX Grep will work in
our environment. Please let me know your feedback.With B2BITS FIX Grep you can get result using the following commands
fixgrep -f “fixlog.txt” -t “52” “20071210-09:30:00” “20071210-
10:30:00” -listor
cat fixlog.txt | fixgrep -t “52” “20071210-09:30:00” “20071210-
10:30:00” -listHi, I’m new in FIX. I have an Unix command question which may not be
relevant in this board. I’m in desparate need of the answer. From
the raw FIX log file I need to get those FIX messages that has
sending time between 9:30am and 10:30am EST. I tried the following
command and it didn’t work:grep “52=20071210-09:30:00 ~ 52=20071210-10:30:00” fixlog.txt
Can anyone please help me?