文本行列操作 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 顺序为基准进行比较

【参数不做研究】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,272评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,744评论 9 468
  • 从前,有一户人家,哥哥从军在外,家里只有姑嫂二人,嫂子叫佩兰,小姑叫藿香。佩兰十分疼爱妹妹,藿香也很体贴嫂...
    清泉明月T_T阅读 2,023评论 0 1
  • 突然发现一个得罪人的坏习惯,别人发给我的微信消息,我看到以后,心里自动回复了,或者说我用了我的意念回复了,然后放在...
    暖乎乎阅读 318评论 0 0