TSV 文件是以制表符 \t 分隔字段的文本文件,常用于存储表格数据。在生信场景下,我们碰到的大多数文件格式本质上都是以 制表符 \t 分隔,包括但不限于 VCF, BED, SAM, GFF等等。
但是在 shell 界面中,使用 less 查看这些文件,经常看到前后行的每一列并不是严格对齐的,就像下面这样,不同列会错位,翻看起来很难受。
当用 less -S hs37d5.fa.fai 查看 GRCh37 基因组索引文件时:
这里我们用到column
和 less 组合定义一个命令行工具,可方便的对齐查看 tsv 格式的文件。column
是一个用于对文本数据进行列处理和格式化的命令行工具。它可以将输入的文本数据按列对齐,并可以根据指定的选项进行列的格式化和调整。
将下列代码复制到 ~/.bashrc 中在 source ~/.bashrc 以后,就可以使用啦!
# lec:Formatted display
lec () {
column -t -s$'\\t' "$@" | less -S
}
lec 命令的使用非常简单。跟 less 的使用方法一样。只需在终端中运行 lec <文件名>
,其中 <文件名>
是您要对齐显示的 TSV 文件的路径。lec 命令将读取文件中的数据,并将每列字段对齐,使其在终端中以整齐的列形式显示。
当用 lec hs37d5.fa.fai 查看 GRCh37 基因组索引文件时:
可以看到,用 less 打开时错位显示的列,现在已经完全对齐啦。
请注意两点,