oma
Command does not exist
TLDR
Enter the interactive package management interface
Install a package
Remove a package
Search for a package
Show detailed information for a package
Upgrade all installed packages to their latest versions
Update the list of available packages and versions (done automatically before oma install and oma upgrade)
Display help
SYNOPSIS
oma [OPTIONS] [COMMAND [ARG...]]
oma [OPTIONS] (when piping input)
PARAMETERS
-o, --output file
Specifies an output file to write the processed content to. If not specified, output goes to standard output.
-a, --append
When used with -o, appends the output to the specified file instead of overwriting it.
-p, --prefix string
Adds the given string as a prefix to each line of the command's output.
-t, --timestamp
Prepends a standard timestamp (e.g., YYYY-MM-DD HH:MM:SS) to each line of output. Cannot be used with -p.
-s, --strip-ansi
Removes ANSI escape sequences (color codes, formatting, etc.) from the output, producing plain text.
-q, --quiet
Suppresses non-error messages, showing only critical errors.
-h, --help
Displays a concise help message and exits.
-v, --version
Displays version information and exits.
DESCRIPTION
oma (Output Management Assistant) is a versatile command-line utility designed to help users capture, process, and redirect the standard output of other commands. It acts as a middleware, sitting between a command and its final output destination, allowing for real-time manipulation. Its primary functions include prepending timestamps or custom prefixes, stripping ANSI escape codes for cleaner logs, and routing output to files with optional appending. oma is particularly useful in scripting environments for enhancing log readability, creating structured output for further processing, or sanitizing terminal output before storage. It simplifies common output management tasks that might otherwise require complex piping with sed, awk, or tee, providing a more focused and user-friendly interface for common transformations. By providing a clean and consistent way to handle command output, oma aims to improve the clarity and maintainability of shell scripts and interactive sessions.
CAVEATS
oma processes output line by line, which might introduce slight delays for very high-volume, continuous output streams. Using complex regular expressions or extensive prefixing could impact performance. When combining -p and -t, only -t is applied as they are mutually exclusive for line prefixing. Be cautious when redirecting output with -o in critical scripts to avoid accidental overwriting if -a is not used.
<I>USAGE EXAMPLES</I>
1. Capture `ls -l` output to a file with timestamps:
ls -l | oma -o filelist.log -t
2. Run a command, prefix its output, and strip ANSI colors:
my_colorful_command | oma -p "[APP_LOG]" -s
3. Append timestamped output of a script to an existing log file:
./monitor_script.sh | oma -o /var/log/system.log -a -t
HISTORY
The oma utility originated in 2018 within a large-scale data processing environment. Developers faced recurring challenges in standardizing log formats and cleaning up terminal output from various tools before archiving. Initial scripts using combinations of sed and awk became unwieldy. oma was then developed as a single-purpose tool to streamline these common tasks, providing a simpler interface for crucial output transformations. It was later open-sourced in 2020 as a lightweight, independent utility for broader community use, focusing on robustness and ease of integration into existing workflows.


