Linux中seq命令、tr命令、sort命令、uniq命令、cut命令

  • seq命令
  • 用途:打印出一串有序的数字
  • 格式: seq [选项] 数字范围
  • -s:指定分隔符
  • -w:指定同等宽度输出
[root@rhel1 ~]# seq -s " " 1 5
1 2 3 4 5
[root@rhel1 ~]# seq -s "*" 1 5
1*2*3*4*5
[root@rhel1 ~]# seq -s " " -w 5 10
05 06 07 08 09 10
  • tr命令
    1、字符转换工具
    2、只能对stdin操作,不能直接对文本操作
  • 使用tr转换字符
[root@rhel1 ~]# echo 123456 | tr 345 abc
12abc6
  • 使用tr删除字符
[root@rhel1 ~]# echo 123456 | tr -d 345
126
[root@rhel1 ~]# who | tr -d ' '
rootpts/02019-04-0421:26(172.16.2.4)
rootpts/12019-04-0416:56(172.16.2.4)
  • 使用tr压缩字符
    1、tr -s SET
    将连续相同的字符压缩成一个字符
[root@rhel1 ~]# echo 1111222223333444455555 | tr -s 12345
12345
[root@rhel1 ~]# echo 1111222223333444455555 | tr -s 1
1222223333444455555

2、tr -s SET1 SET2
将SET1先替换为SET2再进行压缩

[root@rhel1 ~]# echo 1111222223333444455555 | tr -s 123 abc
abc444455555
[root@rhel1 ~]# echo 1111222223333444455555 | tr 123 abc | tr -s abc
abc444455555
  • sort命令

  • 默认按每行的第一个字符进行排序

  • -n:按整数进行排序

  • -r:递减排序

  • -k:指定按哪一列数据进行排序

  • -t:指定字段分隔符(默认为空格)

[root@rhel1 ~]# cat tt           #查看一下文件内容
123 3
23 2
56 1
1 6
[root@rhel1 ~]# cat tt | sort -r     #按第一列进行递减排序
56 1
23 2
1 6
123 3
[root@rhel1 ~]# cat tt | sort -r -k2     #按第二列进行递减排序
1 6
123 3
23 2
56 1
[root@rhel1 ~]# cat ff       #先查看文件内容
qq:aa:bb
ss:cc:vv
aa:bb:mm
dd:cc:bb
[root@rhel1 ~]# sort -t: -k2 ff      #以冒号为分隔符,以第二列为排列键进行排序
qq:aa:bb
aa:bb:mm
dd:cc:bb
ss:cc:vv
  • uniq命令
  • 删除经过排序后的数据的重复记录
  • 通常和sort连用
[root@rhel1 ~]# cat aa
1
1
3
4
1
6
3
3
[root@rhel1 ~]# sort -n aa | uniq
1
3
4
6
  • 数据的实时统计
    1、-c:统计特定记录出现的次数
[root@rhel1 ~]# sort aa | uniq -c
      3 1          #1出现3次
      3 3          #3出现3次
      1 4          #4出现1次
      1 6          #6出现1次

2、-u:只显示唯一的行

[root@rhel1 ~]# sort aa | uniq -u
4
6

3、-d:只显示重复的行

[root@rhel1 ~]# sort aa | uniq -d
1
3
  • cut命令
  • 从文本文件或文本流中提取文本列
  • cut -选项 提取范围 文本文件
  • 常见选项:
    1、-c:从指定范围中提取字符
    2、-f:从指定范围中提取字段
  • 提取范围:
    1、n:第n项
    2、n-:第n项到行尾
    3、-m:行首到第m项
    4、n,m:第n项和第m项
    5、n-m:第n项到第m项
  • cut -c 命令
[root@zh ~]# ll
total 24
-rw-------. 1 root root  1329 Jan  6 21:42 anaconda-ks.cfg
-rw-r--r--. 1 root root 15030 Jan  6 21:42 install.log
-rw-r--r--. 1 root root  3482 Jan  6 21:41 install.log.syslog
[root@zh ~]# ll | cut -c15      #提取第15个字符

r
r
r
  • cut -f命令
    -d:指定分隔符,默认为空格
[root@zh ~]# cat a
zhang:la:xia
song:so:li
cheng:qq:yuan

[root@zh ~]# cat a | cut -d: -f2    #以冒号为分隔符,提取第二个字段
la
so
qq

你可能感兴趣的:(linux,Linux中seq命令,tr命令,sort命令,uniq命令,cut命)