#pad #column #padding #command-line

bin+lib xpad

命令行工具,用于将分隔字段填充成整齐的列

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年2月28日

#15 in #pad

MIT 许可证

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