.\" Copyright (c) 2024 DTB .\" Copyright (c) 2024 Emma Tebibyte .\" .\" This work is licensed under CC BY-SA 4.0. To see a copy of this license, .\" visit . .\" .TH FOP 1 2024-06-17 "Harakit X.X.X" .SH NAME fop \(en field operator .\" .SH SYNOPSIS fop .RB [ -d\ delimiter ] index program .RB [ arguments... ] .\" .SH DESCRIPTION Performs operations on specified fields in data read from the standard input. .\" .SH OPTIONS .IP \fB-d\fP\ \fIdelimiter\fP Sets a delimiter by which the input data will be split into fields. The default is an ASCII record separator. .\" .SH DIAGNOSTICS in the event of an error, a debug message will be printed and the program will exit with the appropriate sysexits.h(3) error code. .\" .SH CAVEATS If the specified index does not exist in the data, the program will print all data to the standard output before exiting with an error. If input data is not delimited by the specified delimiter, the program will fill memory with the contents of the stream before it is output. Field indices are zero-indexed, which may be unexpected behavior for some users. .\" .SH RATIONALE With the assumption that tools will output data separated with ASCII field separators, there is a need for the ability to modify select fields in this data easily and quickly. The idea for this utility originated in the fact that the GNU .BR ls (1) utility contains a .B -h option which enables human-readable units in file size outputs. This functionality was broken out into .BR hru (1), but there was no easy way to modify the field in the ouput of .BR ls (1p) without creating a new tool. .\" .SH AUTHOR Written by Emma Tebibyte .MT emma@tebibyte.media .ME . .\" .SH COPYRIGHT Copyright \(co 2024 Emma Tebibyte. License AGPLv3+: GNU AGPL version 3 or later . .\" .SH SEE ALSO .BR sed (1p)