您的位置:首页 > 其它

文件的排序、合并和分割

2013-05-05 11:39 127 查看
Linux下常见的文本处理命令。

1、sort命令

sort命令是一种对文件排序的工具。sort命令将输入文件看做由多条记录组成的数据流,而记录由可变宽度的字段组成,以换行符作为定界符,以空格作为默认域分隔符。

sort命令的基本格式为

sort [选项] [输入文件]

sort命令选项及其意义

-c:测试文件是否已经被排序。

-k:指定排序的域。

-m:合并两个已排序的文件。在文件合并前,它们必须已经排好序。

-n:根据数字大小进行排序。

-o [输出文件]:将输出写到指定的文件,相当于将输出重定向到指定文件。

-r:将排序结果逆向显示。

-t:改变域分隔符。

-u:去掉结果中的重复行。

2、uniq命令

uniq命令用于去除文本中的重复行,类似于sort中的-u选项,但有所不同。uniq命令去除的重复行必须是连续重复出现的行,中间不能夹杂任何其他文本行。

uniq命令选项及其意义

-c:打印每行在文本中重复出现的次数。

-d:只显示有重复的记录,每个重复记录只出现一次。

-u:只显示没有重复的记录。

3、join命令

join命令用于实现两个文件中记录的连接操作,有点类似于关系数据库中的连接操作。join命令只能对按照连接域已排好序的文件进行操作。

join命令的基本格式为

join [选项] 文件1 文件2

join命令选项及其意义

-a1或-a2:除了显示已共同域进行连接的结果外,-a1表示还显示第1个文件中没有共同域的记录,-a2则表示显示第2个文件中没有共同域的记录。

-i:比较域内容时,忽略大小写差异。

-o:设置结果显示的格式。

-t:改变域分隔符。

-v1或-v2:与-a选项类似,但是不显示以共同域进行连接的结果。

-1和-2:-1用于设置文件1中用于连接的域,-2用于设置文件2中用于连接的域。

4、cut命令

cut命令用于从标准输入或文本文件中按域或行提取文本,cut命令基本格式为

cut [选项] 文件

cut命令选项及其意义

-c:指定提取的字符数或字符范围。

-f:指定提取的域数或域范围。

-d:改变域分隔符。

5、paste命令

paste命令用于将文本文件或标准输出中的内容粘贴到新的文件,paste命令的基本格式为

paste [选项] 文件1 文件2

paste文件选项及其意义

-d:设置新的域分隔符。用于输出。

-s:将每个文件粘贴成一行。

-:从标准输入中读取数据。

6、split命令

split命令用于将大文件切割成小文件,split命令的基本格式为

split [选项] 待切割的大文件 输出的小文件

split命令选项及其意义

-或-l:用于指定切割成小文件的行数。

-b:指定切割成小文件的字节数。

-C:与-b选项类似,但是切割时尽量维持每行的完整性。

7、tr命令

tr命令实现字符转换功能,tr命令的基本格式为

tr [选项] 字符串1 字符串2 <输入文件

特别注意tr命令的输入文件之前需要加上“<”符号。

tr命令选项及其意义

-c:反选字符串1中的字符集。

-d:删除字符串1中出现的所有字符。

-s:删除所有重复出现的字符序列,只保留一个。

8、tar命令

tar命令是linux的归档命令,tar命令的基本格式为

tar [选项] 文件名或目录名

tar命令选项及其意义

-c:创建新的包。

-r:为包添加新的文件。

-t:列出包内容。

-u:更新包中的文件,若包中无该文件,则将该文件添加到包中。

-x:解压缩文件。

-f:使用压缩文件或设备,该选项通常必选。

-v:详细报告tar处理文件的信息。

-z:用gzip压缩或解压缩文件,若加上此选项创建压缩包,那么解压缩时也需要加上此选项。

-C:指定解压缩的目录。

两个linux系统下解压的通用命令,格式为

tar -xvf 压缩包名称#解压非gzip格式的压缩包

tar -zxvf 压缩包名称#解压gzip格式的压缩包

以上是linux文本处理的基本命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: