Linux文本处理命令

wc

wc [OPTION]... [FILE]...

  • -l: lines
  • -w: words
  • -c: characters
[root@senlong tmp]# wc /etc/passwd
  38   50 1748 /etc/passwd
[root@senlong tmp]# wc -l /etc/passwd # 文件行数
38 /etc/passwd
[root@senlong tmp]# wc -w /etc/passwd # 文件单词数
50 /etc/passwd
[root@senlong tmp]# wc -c /etc/passwd # 文件字节数
1748 /etc/passwd

cut

cut [OPTION]... [FILE]...

  • -d DELIMITER: 指明切割的分隔符
  • -f FILEDS: 指明字段
    • #: 第#个字段
    • #,#[,#]:离散的多个字段,例如1,3,6
    • #-#:连续的多个字段, 例如1-6
    • 混合使用:1-3,7
  • --output-delimiter=STRING 指明输出的分隔符
[root@senlong tmp]# cut -d: -f1 /etc/passwd # 用:切割文件,取第1个字段
[root@senlong tmp]# cut -d: -f1,7 /etc/passwd # 用:切割文件,取第1和第7个字段
[root@senlong tmp]# cut -d: -f1-3,7 --output-delimiter=' ' /etc/passwd  # 用:切割文件,取第1至第3, 第7个字段,并用指定输出的分隔符

sort

sort [OPTION]... [FILE]...

  • -f: 忽略字符大小写
  • -r: 逆序
  • -t DELIMITER: 字段分隔符
  • -k #:以指定字段为标准排序
  • -n: 以数值大小进行排序
  • -u: uniq,排序后去重
[root@senlong tmp]# sort -t: -k3 -n /etc/passwd # 以:为字段分隔符, 取第3个字段并按数值大小排序
[root@senlong tmp]# sort -t: -k3 -n /etc/passwd | cut -d: -f3 # 排序后再进行切割显示

uniq

uniq [OPTION]... [FILE]...

  • -c: 显示每行重复出现的次数;
  • -d: 仅显示重复过的行;
  • -u: 仅显示不曾重复的行;

Note: 连续且完全相同方为重复

uniq 与 sort -u 的区别:uniq能显示每行重复的次数

[root@senlong tmp]# history | cut -d' ' -f5 | sort | uniq -c
[root@senlong tmp]# history | cut -d' ' -f5 | sort | uniq -d
[root@senlong tmp]# history | cut -d' ' -f5 | sort | uniq -u

练习

  • 以冒号分隔,取出/etc/passwd文件的第6至第10行,并将这些信息按第3个字段的数值大小进行排序;最后仅显示的各自的第1个字段
[root@senlong tmp]# cut -d: -f6-10 /etc/passwd | sort -t: -k3 -n| cut -d: -f1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java学习网

Java中application对象的19个常用方法

applicaton表示一个javax.servlet.ServletContext对象。他实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服...

2355
来自专栏null的专栏

挑战数据结构和算法——跳台阶问题

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 ? image.png 方法: int get_kind(int n...

2746
来自专栏任浩强的运维生涯

mongodb高级应用

一、  高级查询 查询操作符 条件操作符:db.collection.find({“field”:{$gt/$lt/$gte/$lte/$eq/$ne:valu...

35910
来自专栏数据结构与算法

BZOJ5312: 冒险(势能均摊线段树)

结论:如果一次操作对区间& 和 区间| 产生的影响是相同的,那么该操作对整个区间的影响都是相同的

852
来自专栏编码前线

设计模式之单例模式

单例模式指的是在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛使用的设计模式。他有很多好处,能够避免实例对象的重复创建,减少创建实例的系统开销,节省内...

1113
来自专栏技巅

GlusterFS之内存池(mem-pool)实现原理及代码详解

1325
来自专栏码云1024

C#文件

2865
来自专栏xingoo, 一个梦想做发明家的程序员

Elasticsearch 连接查询

在一般的关系型数据库中,都支持连接操作。 在ES这种分布式方案中进行连接操作,代价是十分昂贵的。 不过ES也提供了相类似的操作,支持水平任意扩展,实现连接...

30810
来自专栏闻道于事

单例模式你会几种写法?

1135
来自专栏诸葛青云的专栏

教你彻底学会c语言基础——文件操作

函数定义:FILE *fopen(char *pname, char *mode)

1442

扫码关注云+社区