#text #standard #stdin #input #stdout #filter #output

bin+lib aki-xtee

copy standard input to each files and standard output

25 releases

0.1.25 Jun 19, 2024
0.1.24 Jan 11, 2023
0.1.23 Jun 18, 2022
0.1.18 Nov 15, 2021
0.1.6 Mar 22, 2021

#453 in Text processing

Download history 12/week @ 2024-04-01 2/week @ 2024-06-10 127/week @ 2024-06-17 7/week @ 2024-06-24 4/week @ 2024-07-01

138 downloads per month
Used in aki-txpr-macro

MIT/Apache

32KB
581 lines

aki-xtee

crate Docs Rust Version Apache2/MIT licensed Test ubu Test mac Test win

copy standard input to each files and standard output.

Feature

  • copy standard input to each files and standard output.
  • output files are compressed by auto with filename extension.
  • minimum support rustc 1.60.0 (7737e0b5c 2022-04-04)

Command Help

aki-xtee --help
Usage:
  aki-xtee [options] [<file>...]

this is like the linux command `tee`.
copy standard input to each <file>, and to standard output.
automatic discovery file type: plain, gz, xz and zst.

Options:
  -a, --append <file>   append to the <file>, do not overwrite [unimplemented]
  -p, --pipe-out <num>  write to pipe <num> [unimplemented]

  -H, --help        display this help and exit
  -V, --version     display version information and exit

Argument:
  <file>         utf-8 encoded plain text file,
                 gzip compressed file at the end with '.gz',
                 xz2 compressed file at the end with '.xz',
                 zstd compressed file at the end with '.zst'.

Examples:
  You can simple use. Just arrange the files:
    cat in-file | aki-xtee file1 file2.gz file3.xz file4.zst

Quick install

  1. you can install this into cargo bin path:
cargo install aki-xtee
  1. you can build debian package:
cargo deb

and install .deb into your local repository of debian package.

Examples

Command line example 1

output "ABCDEFGH" to standard output and plain text file.

echo "ABCDEFGH" | aki-xtee out/plain.txt

result output :

ABCDEFGH

output "ABCDEFGH" to standard output and gzip text file.

echo "ABCDEFGH" | aki-xtee out/gztext.txt.gz

result output :

ABCDEFGH

output "ABCDEFGH" to standard output and xz text file.

echo "ABCDEFGH" | aki-xtee out/xztext.txt.xz

result output :

ABCDEFGH

output "ABCDEFGH" to standard output and zstd text file.

echo "ABCDEFGH" | aki-xtee out/xztext.txt.zst

result output :

ABCDEFGH

Command line example 2

copy input to plain text file, gzip text file, xz text file and zstd text file.

aki-xtee out/plain.txt out/gztext.txt.gz out/xztext.txt.xz  out/zstext.txt.zst

Library example

See fn execute() for this library examples.

Changelogs

This crate's changelog here.

License

This project is licensed under either of

at your option.

Dependencies

~5.5MB
~111K SLoC