sort
依据不同的数据类型进行排序
sort [选项] 参数
常用选项:
-f : 忽略大小写
-b :忽略每行前面的空格
-M : 按照月份进行排序
-n :按照数字进行排序
-r :反向排序
-u :等同于uniq,表示相同的数据仅显示一行
-t :指定分隔符,默认使用【Tab】键分隔
-o <输出文件> :将排序后的结果转存至指定文件
-k :指定排序区域
如果不 -n,默认按ASCLL码排序
cat /etc/passwd | sort
cat /etc/passwd | sort -n -t: k3 以冒号进行分隔第三列按照数字排序 -nr 反向排序
cat /etc/passwd | sort -n -t: k3 -o xx.txt 把这些东西输出到xx.txt文件中(覆盖)
cat xx.txt | sort -u 去重
uniq
常用选项:
-c :进行计数
-d :仅显示重复行
-u :仅显示出现一次的行
cat xx.txt | uniq 只会对连续的重复的去重 如果不连续的重复的不会去重
cat xx.txt | sort | uniq 先排序再去重
cat xx.txt | sort | uniq -c 计数
cat xx.txt | sort | uniq -d 把重复的显示出来
cat xx.txt | sort | uniq -u 筛选不是重复的行
打印第一列重复的
tr
常用选项
-c :取代所有不属于第一字符集的字符
-d :删除所有属于第一字符集的字符
-s :把连续重复的字符以单独一个字符表示
-t :先删除第一字符集较第二字符集多出的字符
cat xx.txt | tr 'a' 'A' 把所有a替换成A
cat xx.txt | tr "'" '/' 把单引号
cat xx.txt | tr 'a-z' 'A-Z' 把小写字母替换成大写字母
cat xx.txt | tr 'apple' 'APPLE' 并不是单词替换 而是对应的字母替换 a对A p对P l对L e对E
cat xx.txt | tr -s 'p' 去掉连续字符p
cat xx.txt | tr -s 'pr' 去掉连续字符p和r
cat xx.txt | tr -d 'apple' 删除字母 a、p、l、e
cut 列截取工具
常见选项:
-b :按字节截取
-c :按字符截取,常用于中文
-d :指定以什么为分隔符截取,默认为制表符
-f :通常和-d一起
cat xx.txt | cut -b 2 取每行第二个字节
cat xx.txt | cut -c 2 取每行第二个字 符
cat /etc/passwd | cut -d: -f3 截取以冒号分隔第三列
cat /etc/passwd | cut -d: -f1,3 截取以冒号分隔的第一列和第三列
cat /etc/passwd | cut -d: -f1-3 截取以冒号分隔的第一列到第三列