1 特殊符号
相关例子, 详见下图,
2 关于管道符
(1)cut 分割
-d 分隔符 -f 指定段号 -c 指定第几个字符
举例子, 见下图,
上图例子中,| 输出结果, cut 分割出后面想要的结果一般情况下,-c 和 -d -f 不同时使用
(2)sort 排序
-n 以数字排序 -r 反序 -t 分隔符 -kn1/-kn1,n2
举例子, 见下图,
可以注意到, 红色框框里面的内容是按字母顺序排列的, 这个就是 sort 作用的结果 sort 后面不加任何选项, 则从首字符向后, 依次按 ASCII 码值进行比较, 最后将他们按升序输出
关于 ASCII 码, 百度百科的解释如下:
接着往下操作, 见下图,
回车之后, 进入下图,
随机输入上图红色框框的内容, 保存后退出使用 sort 查看文件 1.txt , 见下图,
可以看到上图的排列顺序是, 先特殊符号, 再数字, 然后再字母, 包括 * 号以上就是 ASCII 码的排列顺序
-n 选项是以数字排序, 前面的特殊符号和字母, 都默认为 0 见下图,
-r 选项是反序的意思, 见下图,
-t 后面跟分隔符,-kn1/-kn1,n2 , 这些用的比较少, 了解即可
(3)wc
-l 统计行数 -m 统计字符数 -w 统计词
举个例子, 见下图,
进入 2.txt 文件, 编辑输入下图红色框框的内容,
保存后退出接着统计 2.txt 的字符数, 见下图,
可以看到, 2.txt 的字符数是 8 , 为什么会是 8 呢? cat -A 之前说过, 它可以查看 2.txt 文件里的所有内容, 包括隐藏的然后, 就看到了每一行末尾的 $ , 表示的是换行符所以, wc -m 2.txt 的结果是 8
接着对 -w 进行操作, 见下图,
2.txt 里的内容有两行, 所以显示的结果是 2 再次进入 2.txt 编辑文件内容, 见下图,
补充完上图内容后, 保存并退出再次查看统计词, 见下图,
-w 是以空白字符作为分隔符的, 所以结果显示为 3
(4)uniq 去重复,-c 统计行数
输入命令 vi 2.txt , 回车, 见下图,
增加上图红色框框的内容, 保存并退出接着往下操作,
发现 uniq 命令对 2.txt 的内容没有任何影响, 再次进入文件 2.txt , 编辑内容如下,
将最后的 1 和 2 互换位置, 然后保存退出接着使用命令 uniq 2.txt 查看, 见下图,
这时候, 就会看到去重复了这是有条件的去重复, 必须两个同样的字符在前后位置, 才能去重复
一般情况下, uniq 和 sort 是一起使用的, 见下图,
先排序, 后去重复这样子使用命令之后, 就看不到重复的数值了还可以使用 -c 选项来统计重复的次数, 每一排前面的数字就是重复的次数
(5)tee
和 > 类似, 重定向的同时还在屏幕显示,|tee -a 有追加作用
举例子, 见下图,
从上图可以看出 |tee 的一个作用就是重定向, 还有一个作用是把文件内容打印到屏幕上
-a 选项有追加的作用, 见下图,
再追加一次, 再查看文件, 见下图,
(6)tr 命令
tr 替换字符, tr a b, 大小写替换 tr [a-z] [A-Z]
具体操作, 详见下图,
(7)split 命令
split 切割,-b 大小 (默认单位字节),-l 行数
首先来创建一个大文件, 输入命令 find /etc/ -type f -name "conf" , 回车, 见下图,
该命令结果内容太多, 不一一截图, 接着操作如下,
后面这些 4.0 KB 的文件也很多, 不一一截图了接着用命令 du -sh , 回车, 见下图,
内容也非常多, 不一一截图 1000 单位是 b 因为前面切割的单位是 1000 , 接着往 100 切割, 见下图,
切割成 100 之后, 文件就更多了, 图片内容截图不全, 可以注意到这些小文件的命名都是有按字母排序的文件太多, 全部删除掉, 接着往下操作,
来源: http://www.bubuko.com/infodetail-2521198.html