xbin
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:~/bin
xbin
====

A suite of Unix command line tools for englightened pipelines.


xip
---

The name "zip" was already taken.  This interlaces the contents of a
variadic list of files, especially handy with subshell file
descriptor replacement.  The following shows the opposing sides of a
six sided die.  The first example works in BSD variants, and the
second in SysV/Linux variants::

    xip <(jot 6) <(jot 6 6 1) | xargs -n 2
    xip <(seq 6) <(seq 6 -1 1) | xargs -n 2


dog
---

Buffers stdin into memory until it closes, then writes to a given
file.  This is handy for pipeline loops, where normally redirecting
to and from the same file would result in premature truncation.  The
following are equivalent::

    sort file
    cat file | sort | dog file


shuffle
-------

Shuffles the lines from standard input and writes them to standard
output.  If the input stream is indefinite, the input can be
shuffled indefinitely by specifying a pool size as a second
argument.



enquote
-------

Enquotes every line from standard input and writes it to standard
output.  Handy for pipelines that end in xargs, when file -print0
and xargs -0 aren't really an option.  The following are pretty
close to equivalent:

    find . -print0 | xargs -0 tar cf -
    find . | enquote | xargs tar cf -
    

cycle
-----

Reads all of standard input and writes it back, repeatedly, to
standard output.  The first pass gets written immediately, so an
indifinite stream will only cause memory bloat at the rate at which
cycle's standard output is consumed::

    find . -name '*.mp3' \
    | cycle \
    | shuffle 10000 \
    | enquote \
    | xargs -n 1 mpg123


findall
-------

Convenience command for find . -name "" -print0 | xargs -0 grep "". Significantly faster than grep -r.

    findall ""

is equivalent to

    find . -name "*" -print0 | xargs -0 grep ""

while

    findall "" ""

expands to

    find . -name "" -print0 | xargs -0 grep ""


samp
----

Writes a random sample of the lines from standard input back out to
standard output.  Specify a sample size as an argument.  The sample
is in stable order.  The input stream may safely be of indefinite
size.

This program is called `samp` so as not to collide with bsd's `random`
or OS X's `sample`.


unique
------

Reads lines from standard input and writes the first of each unique
line.  This is similar to the behavior of the highly optimized `uniq`.
`uniq` suppresses the output of sequentially redundant lines, so to
create a truly unique set, the common idiom is to sort the input.
However, this does not preserve the order.  In this sense, `unique` is
a "stable" operation.

The following are equivalent:

    cat input | sort | uniq | dog output
    cat input | unique | sort | dog output

Example, removing redundant elements from `$PATH`:

    export PATH=$(
        echo $PATH \
        | tr ':' '\n' \
        | unique \
        | paste -sd: -
    )


activate
--------

Source this script to add this project to your PATH.

    . bin/activate


mkroot
------

After activating this project, use `mkroot` to replicate it.

    mkroot foo

See https://github.com/kriskowal/mkroot for details.



本源码包内暂不包含可直接显示的源代码文件,请下载源码包。