Linux下面有很多经典的非常有用的命令,其中处理文本的命令就有很多。这些小工具经过了几十年时间的洗礼,现在已经变成了经典,已经变成了Linux下面的标准,其实它们一直是遵循着Linux的标准。下面就让我们一起看看这些经典的Linux文本处理命令。
一. sort文件排序,通常用在管道中当过滤器来使用。这个命令可以依据指定的关键字或指定的字符位置,对文件行进行排序。使用-m选项,它将会合并预排序的输入文件。想了解这个命令的全部参数请参考这个命令的info页。
二. tsort拓扑排序,读取以空格分隔的有序对,并且依靠输入模式进行排序。
三. uniq这个过滤器将会删除一个已排序文件中的重复行。这个命令经常出现在sort命令的管道后边。
四. expand, unexpandexpand命令将会把每个tab转化为一个空格。这个命令经常用在管道中。
unexpand命令将会把每个空格转化为一个tab。效果与expand命令相反。
五. cut一个从文件中提取特定域的工具。这个命令与awk中使用的print $N命令很相似,但是更受限。在脚本中使用cut命令会比使用awk命令来得容易一些。最重要的选项就是-d(字段定界符)和-f(域分隔符)选项。
六. paste将多个文件, 以每个文件一列的形式合并到一个文件中,合并后文件中的每一列就是原来的一个文件。与cut结合使用,经常用于创建系统log文件。
七. join这个命令与paste命令属于同类命令。但是它能够完成某些特殊的目地。这个强力工具能够以一种特殊的形式来合并两个文件,这种特殊的形式本质上就是一个关联数据库的简单版本。
join命令只能够操作两个文件。它可以将那些具有特定标记域(通常是一个数字标签)的行合并起来,并且将结果输出到stdout。被加入的文件应该事先根据标记域进行排序以便于能够正确的匹配。
八. head把文件的头部内容打印到stdout上(默认为10行,可以自己修改)。这个命令有一些比较有趣的选项。
九. tail将一个文件结尾部分的内容输出到stdout中(默认为10行)。通常用来跟踪一个系统logfile的修改情况,如果使用-f选项的话,这个命令将会继续显示添加到文件中的行。
十. wcwc可以统计文件或I/O流中的"单词数量"。
十一. fold将输入按照指定宽度进行折行。这里有一个非常有用的选项-s,这个选项可以使用空格进行断行(译者:事实上只有外文才需要使用空格断行,中文是不需要的)(请参考例子 12-23和例子 A-1)。
十二. fmt一个简单的文件格式器。通常用在管道中,将一个比较长的文本行输出进行"折行"。
十三. col这个命令用来滤除标准输入的反向换行符号。这个工具还可以将空白用等价的tab来替换。col工具最主要的应用还是从特定的文本处理工具中过滤输出,比如groff和tbl。(译注:主要用来将man页转化为文本。)
十四. column列格式化工具。通过在合适的位置插入tab,这个过滤工具会将列类型的文本转化为"易于打印"的表格式进行输出。
十五. colrm列删除过滤器。这个工具将会从文件中删除指定的列(列中的字符串)并且写到文件中,如果指定的列不存在,那么就回到stdout。colrm 2 4
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?