WIP pet project.
yargs aims to be the xargs equivalent to tabular input. It borrows from awk
the its ability to work on 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 y-arg.
- passing column yargs as fields
foo_cmd | yargs --field-1='basename {}' --field-2="awk { print $1 }"
foo_cmd | yargs -f1 'basename {}' -f2 'awk { print $1 }'- Passing
yargsas positional arguments
foo_cmd | yargs 'basename {}' 'awk { print $2 }'- skipping fields
foo_cmd | yargs 'basename {}' - 'awk { print $2 }'
# keeps the second field unchangedinput:
field #1 field #2
|--------------------------| |--------------|
/long/path/to/some/ebook.pdf | Title Of Ebook
____
|
example usage: | y-arg
-------------- |
----------------
yargs 'basename {}' "awk { print $1 }"
#OR
yargs -f1 'basename {}' -f2 'awk { print $1 }'
would output: ebook.pdf | Title
- use colon as delimiter
yargs -d':' -f1 '...'