提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一.sort命令
sort - - 以行为单位,对文件内容进行排序,也可以根据不通的数据类型来排序
比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
语法格式:
♦ sort [选项] 参数
♦ cat file | sort 选项
常用选项:
-n | 按照数字进行排序 |
---|---|
-r | 反向排序 |
-u | 等同于uniq,表示相同的数据仅显示一行 |
-t | 指定字段分隔符,默认使用[Tab]键分隔 |
-k | 指定排序字段 |
-o | <输出文件>:将排序后的结果转存至指定文件 |
-f | 忽略大小写 |
-b | 忽略每行前面的空格 |
示例1:sort
仅使用sort命令的情况下,如下图,图1看到2.txt文件内有若干无序的数字
使用sort 2.txt不加任何选项后,数字由首字母进行了排序,而不是按照数字大小的排序
示例2:sort -n
使用sort -n选项对上图1的数字进行排序后,数字按大小顺序进行了排列
示例3:sort -r
使用sort -r选项对图1的数字进行排序后,数字呈现反向的排序,如图3所示
同时可以组合两个选项sort -nr,此时数字反向切顺序排列
示例4:sort -u
使用sort -u选项对图4进行排序后,他会将重复的内容进行合并,合并成一行
示例5:sort -t,sort -k
使用sort -t表示以什么为分隔符,这里我们是以冒号为分隔符,所以是sort -t ‘:’
使用sort -k表示以第几个字段排列,可以看到,以冒号为分隔符,root是第一个字段,x是第二个字段,0是第三个字段,
所以当我们执行命令后可以看到,第三个字段按照数字的顺序进行了排列
示例6:sort -o
首先用du -a查看当前目录下所有的文件的大小,通过管道符交由sort查看,使用sort -nr按照由大到小的顺序对文件进行排列,紧接着-o将该排序的文件另存到/root/123/12.txt
可以看到第一列从大到小依次排列开
二.uniq命令
uniq - - 用于报告或者忽略文件中的重复行,常与sort命令结合使用
语法格式:
uniq [选项] 参数
cat file | uniq 选项
常用选项:
-c | 进行计数,并删除文件中重复出现的行 |
-d | 仅显示连续的重复行 |
-u | 仅显示出现一次的行 |
示例1:uniq
uniq uniq.txt
仅使用uniq命令的时候,他只会删除连续重复的行,而非连续重复的行不会被删除
示例2:uniq -c
uniq -c uniq.txt
他会去显示重复出现的行的出现次数,并且会删除掉重复的行
扩展:
以上可以统计出非连续重复行下数字出现的次数,如果想要统计所有的数字出现的次数
sort -n uniq.txt | uniq -c 先使用sort -n对数字进行排序,再使用uniq -c去重并显示重复系次数
cat uniq.txt |sort -n |uniq -c 同上面的效果是一样的
示例3:uniq -u
uniq -u uniq.txt 仅显示非连续出现的1次的重复行
cat uniq.txt |sort -n |uniq -u 这样无论是否连续都仅显示出现过一次的数字
示例4:uniq -d
uniq -d uniq.txt 仅显示连续出现的重复行
二.tr命令
tr - - 常用来对来自标准输入的字符进行替换、压缩和删除
语法格式:
tr [选项] [参数]
常用选项
-c | 保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换 |
-d | 删除所有属于字符集1的字符 |
-s | 将重复出现的字符串压缩为一个字符串;用字符集2替换字符集1 |
-t | 字符集2替换字符集1,不加选项同结果。 |
参数:
字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字
符集2":
字符集2:指定要转换成的目标字符集。
示例1: tr
[root@localhost ~]# echo abc
abc
[root@localhost ~]# echo abc | tr 'a-z' 'A-Z'
ABC
将小写的abc转换成大写ABC(如图1)
[root@localhost ~]# echo abc | tr 'a' 'A'
Abc
仅将小写的a替换为大写的A(如图2)
示例2: tr -t
[root@localhost ~]# echo abc | tr -t 'b' 'B'
aBc
tr -t的效果同tr不加-t也可以正常执行替换效果
示例3: tr -c
[root@localhost ~]# echo -e "abc\ncba\nabab"(先用echo输出abc,cba,abab)
abc
cba
abab
[root@localhost ~]# echo -e "abc\ncba\nabab" | tr -c "ab\n" "0"
ab0 (然后用tr -c将除了ab和换行符其余的都替换成0)
0ba
abab
[root@localhost ~]#
echo -e "abc\ncba\ndbdb"| tr -c "ab" "0"
ab000ba00b0b0
echo -n
echo -e "XXXXXXX\c"
除了以上两种方式输出的内容结尾不会携带换行符,echo其它输出方法都会在内容结尾默认携带一个换行符\n
换行
echo"" 换行