You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.5 KiB
1.5 KiB
Very much work in progress. This is the first project in my Rust learning journey. Expect a lot of changes and refactoring.
Colmap
Colmap is hybrid between awk
in xargs
. It borrows from the former its ability
to work on tabular columns of text and allows for arbitrary commands to be
applied per column in a similar way to xargs
.
The columns are called fields
. The command to execute on each field is called
an x-arg
.
Example
input:
field #1 field #2
|--------------------------| |--------------|
/long/path/to/some/ebook.pdf | Title Of Ebook
____
|
example usage: | x:arg
-------------- |
----------------
colmap 'basename {}' "awk { print $1 }"
#OR
colmap -f1 'basename {}' -f2 'awk { print $1 }'
would output: ebook.pdf | Title
- use colon as delimiter
colmap -d':' -f1 '...'
Ways of passing x-args
- passing column x-args as fields
foo_cmd | colmap --field-1='basename {}' --field-2="awk { print $1 }"
foo_cmd | colmap -f1 'basename {}' -f2 'awk { print $1 }'
- Passing
xargs
as positional arguments
foo_cmd | colmap 'basename {}' 'awk { print $2 }'