文本行列操作 cut、paste、split、join

cut

打印输出文本文件每行的特定范围内容

cut -b/-c list [-n] [file...]

-b list 指定一个特定字节区间范围,如 -b 3-5
-c list 指定一个特定字符区间范围,如 -c 3,5
-n 指定-b时,不分割多字节字符,仅输出可完整正常表示的字符部分

cut -f list [-d delim] [-s] [file...]

-f list 指定一个特定字段区间范围,字段默认按 tab 分隔
-d delim 指定一个特定的字段分隔符,默认为 tab
-s 忽略不包含分隔符的行,默认该行进行完整输出


paste [options] file...

串联合并多个文本的字段列,并以 tab 作为分隔符,打印到标准输出
对于数据不足的文件,视为该数据为空进行格式补齐

-d list 指定一个或多个字段分隔符,取代默认的 tab 分隔,当指定多个分隔符时,将按序逐个循环调用,可使用以下转义符\n,\t,\\\\,\0(空串)
-s 行列矩阵转置


split [options] [source_file [output_prefix]]

切割文件,默认按1000行作为单位进行切割,并生成子文件,子文件后缀编号按a-z顺序排列命名,如 xaa, xab...
不指定 source_file 时,从标准输入设备读取
不指定 output_prefix 时,输出文件前缀默认为x

-l num / -num 按指定行数 num 切割
-b bytes 按指定字节数切割,可指定字节单位km
-a num 指定输出文件的后缀位数,默认为2
-p pattern 使用扩展正则表达式匹配,匹配行作为切割标记并作为下一子文件的首行


join [options] file1 file2

将两个文件中同一行同一字段相同的其余字段联合起来,打印输出
默认对比第一个字段,字段以空格或 tab 分隔(不区分数量)
行开头的空格、tab 将被忽略,输出时统一缩进为单一空格
对于乱序文件,将以 file1 顺序为基准进行比较

【参数不做研究】

你可能感兴趣的:(文本行列操作 cut、paste、split、join)