在学习了shell脚本的基本语法,命令,符号之后,接下来要看的就是shell脚本使用的所有工具了。
在shell脚本中,工具的使用简化了所要编写的代码。接下来就介绍几个shell下经常使用的工具。
1、sort
sort工具的常用语法就是将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,默认是升序。
sort工具常用的一些选项:
- -r选项:将文件按降序排列;
- -u选项:它的作用很简单,就是在输出行中去除重复行;
- -n选项:以数值来排序;
- -t选项:可以设定间隔符;
- -k选项:指定了间隔符之后,就可以用-k来指定列数进行排序;
- -f选项:会将小写字母都转换为大写字母来进行比较,亦即忽略大小写;
- -c选项:会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
- -C选项:会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
- -b选项:会忽略每一行前面的所有空白部分,从第一个可见字符开始
2、uniq
uniq工具作用效果是为消除相邻的重复行,如果重复行不再相邻的位置,就不会消除,因此,uniq工具一般与sort工具联合使用。
uniq工具常用的一些选项:
- -c选项: 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代-u和-d选项。
- -d选项: 只显示重复行
- -u选项: 只显示文件中不重复的各行。
uniq工具的应用:求两个文件的交集、并集、补集。
3、paste
paste单词的字面意思是粘贴。该命令主要用来将多个文件的内容合并。paste工具按行将不同文件行信息放在一行。缺省情况下, paste连接时,用空格或tab键分隔新行中不同文本。
通常我们把一行称为一条文本记录,每一行有多少列由列分隔符决定;按照列分隔符可以将一行分为多个域;进行行列划分时,应该考虑两个因素:行分隔符和列分隔符;行分隔符一般有\n,列分隔符为空格,tab
paste工具的常用选项:
- -d选项: 指定域分隔符;
- -s选项: 将每个文件合并成行而不是按行粘贴














