zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Linux:文件内容排序和截取工具(sort、uniq、tr、cut)

Linux文件工具排序 内容 截取 Sort cut
2023-09-11 14:17:00 时间

目录

一、sort工具

 二、uniq工具

将sort和uniq结合使用

三、tr工具

四、cut工具


一、sort工具

        sort 是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排 序。例如数据和字符的排序就不一样。sort 命令的语法为“sort[选项] 参数”,其中常用的选
项包括以下几种。 

-f:忽略大小写;
-b:忽略每行前面的空格; 
-M:按照月份进行排序; 
-n:按照数字进行排序; 
-r:反向排序;
-u:等同于 uniq,表示相同的数据仅显示一行; 
-t:指定分隔符,默认使用[Tab]键分隔; 
-o <输出文件>:将排序后的结果转存至指定文件; 
-k:指定排序区域

sort /etc/passwd  #将/etc/passwd文件中的账号进行排序

 

默认按照第一个字符排序

 sort -t':' -rk 3 /etc/passwd   #对文件中第三列进行反向排序 

 

 二、uniq工具

        Uniq 工具在 Linux 系统中通常与 sort 命令结合使用,用于报告或者忽略文件中的重复 行。具体的命令语法格式为:uniq [选项] 参数。其中常用选项包括以下几种

-c:进行计数;
-d:仅显示重复行;
-u:仅显示出现一次的行。

先准备一个文件

 uniq 1.txt  #去除重复行

uniq -c 1.txt  #删除文件中的重复行,并在行首显示该行重复出现的次数

 

uniq -d 1.txt  #查找文件中的重复行。

 

将sort和uniq结合使用

 可以查看现在连接状态

三、tr工具

        tr 命令常用来对来自标准输入的字符进行替换、压缩和删除。可以将一组字符替换之后 变成另一组字符,经常用来编写优美的单行命令,作用很强大

-c:取代所有不属于第一字符集的字符; 
-d:删除所有属于第一字符集的字符; 
-s:把连续重复的字符以单独一个字符表示; 
-t:先删除第一字符集较第二字符集多出的字符。

echo "KGC" | tr 'A-Z' 'a-z'   #将输入字符由大写转换为小写 

 #echo "thissss is a text linnnnnnne." | tr-s'sn' #压缩输入中重复的字符

 echo 'hello world' |tr -d 'od'  #删除字符串中某些字符

四、cut工具

        cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一
cut只擅长于处理单个字符为间隔的文本,-b只能分割字母,-c既可以分割字母也可以分割中文

语法格式
    cut [选项] [文件路径]
常用选项
-b:按字节截取
-c:按字符截取,常用于中文
-d:指定以什么为分隔符截取,默认为制表符
-f:通常和-d一起使用(表示截取第几列)

echo "12345" | cut -b 1-2 #截取前两个字符

echo "1:2:3:4:5" | cut -d':' -f 1,4 #以:为分隔符,截取第1和第4列