1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年2月28日 |
---|
#15 in #pad
12KB
159 行
pad
: 命令行文本填充
有时你需要从命令行序列中剪切一些列。有时要正确运行这个命令需要你之前已经 tr -s ' '
。有时你有了这个解决方案,然后才发现了 column -t
命令。
在这种情况下,你需要 pad
。
用法
$ pad -h
pad 0.1.0
Peter Goodspeed-Niklaus <[email protected]>
USAGE:
pad [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-a, --align <align>... Specify a column's alignment. May be repeated.
-d, --delimiter <delim> Specify the delimiter with which to distinguish input fields
-f, --file <file> Read from the named file instead of stdin
-s, --separator <sep> Specify the separator with which to separate output fields
如果指定了输入文件,则读取该文件。否则,pad
从标准输入读取。
输入根据分隔符拆分为列,并填充空格,使每列宽度一致。然后以分隔符分隔列输出。
默认情况下,列左对齐,但可以使用 -
选项设置每列的列对齐方式
- "l","L" 和 "<" 设置左对齐
- "r","R" 和 ">" 设置右对齐
- "c","C" 和 "^" 设置居中对齐
-
选项必须为每列指定一次,并从最左侧的列开始设置列。
示例
基本用法
$ ls -l | tr -s ' ' | cut -d' ' -f5,9 | pad
11469 Cargo.lock
216 Cargo.toml
0 README.md
512 src
512 target
设置列对齐
$ ls -l | tr -s ' ' | cut -d' ' -f5,9 | pad -ar -ac
11469 Cargo.lock
216 Cargo.toml
0 README.md
512 src
512 target
按自定义字符拆分和分隔
$ cat Cargo.toml | grep -Po "\d+\.\d+\.\d+" | pad -d. -s. -ar -ar -ar
0. 1.0
2.30.0
0. 1.1
0. 7.6
1. 2.0
从文件读取而不是从标准输入读取
$ pad -f .gitignore -d'/'
target
** *.rs.bk
Cargo.lock
按等号拆分/分隔
$ pad -d = -f Cargo.toml -s = -ar | tail -n4
clap = "2.30.0"
failure = "0.1.1"
itertools = "0.7.6"
unicode-segmentation = "1.2.0"
依赖项
~2MB
~24K SLoC