Crates.io | prefix |
lib.rs | prefix |
version | 1.1.5 |
source | src |
created_at | 2021-08-30 19:13:30.00647 |
updated_at | 2024-11-27 21:24:03.786042 |
description | A customizable pretty printer for FIX messages |
homepage | |
repository | https://github.com/Shivix/prefix |
max_upload_size | |
id | 444470 |
size | 250,853 |
A commandline based pretty printer for FIX messages.
Based on a FIX4.4 dictionary, but is usable with all versions.
input can be passed in as an argument or piped in:
prefix "8=FIX4.4|1=test|55=EUR/USD|10=123|"
echo "8=FIX4.4|1=test|55=EUR/USD|10=123|" | prefix
outputs:
BeginString = FIX4.4
Account = test
Symbol = EUR/USD
CheckSum = 123
Currently can use ^ and | and SOH as delimiters.
Use prefix --help
or man prefix
for more details.
Unix piping greatly increases the potential uses. For example: Parsing a log file and aligning the values for easy scan reading.
# Pipe the file contents to prefix which parses and pipes them to awk, which prints them aligned.
cat example.txt | prefix -v | awk '{printf("%-20s %-30s\n", $1,$3)}'
outputs:
BeginString FIX.4.4
Account TEST
Symbol EUR/USD
ExecType PartialFill
Or summarising a log file that includes FIX messages.
# Pipe the file contents to prefix which then summarises the FIX messages by instrument
cat example.log | prefix --summary 55 --only-fix | sort | uniq --count
outputs:
4 NewOrderSingle EUR/USD
4 ExecutionReport EUR/USD
2 NewOrderSingle USD/KRW
2 ExecutionReport USD/KRW
Can be installed using:
cargo install prefix
Any bugs/ requests can be added to the issues page on the github repository.