命令对 File 参数指定的文件中的行排序
| 参数 | 说明 |
| — | :-- |
| -b: | 忽略每行前面开始出的空格字符; |
| -c: | 检查文件是否已经按照顺序排序; |
| -d: | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符; |
| -f: | 排序时,将小写字母视为大写字母; |
| -i: | 排序时,除了040至176之间的ASCII字符外,忽略其他的字符; |
| -m: | 将几个排序号的文件进行合并; |
| -M: | 将前面3个字母依照月份的缩写进行排序; |
| -n: | 依照数值的大小排序; |
| -o<输出文件>: | 将排序后的结果存入制定的文件; |
| -r: | 以相反的顺序来排序; |
| -t<分隔字符>: | 指定排序时所用的栏位分隔字符; |
| +<起始栏位>-
<结束栏位>: | 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 |
举例:对/etc/passwd 的账号进行排序
默认按照首字母排序
cat /etc/passwd | sort
按照":"分隔符分割排序,
cat /etc/passwd | sort -t ‘:’ -k 3
按照":"分割,-k 3 表示按照第三个分割的字符排序,默认是数据字典排序
cat /etc/passwd | sort -t ‘:’ -k 3n
排序默认是升序,降序排序加’r’
cat /etc/passwd | sort -t ‘:’ -k 3nr
可以去除排序过的文件中的重复行
| 参数 | 说明 |
| :-- | :-- |
| -c 或 --count | 在每列旁边显示该行重复出现的次数; |
| -d 或 --repeated | 仅显示重复出现的行列; |
| -f<栏位> 或 --skip -fields=<栏位> | 忽略比较指定的栏位; |
| -s<字符位置> 或 --skip-chars=<字符位置> | 忽略比较指定的字符; |
| -u 或 --unique | 仅显示出一次的行列; |
| -w<字符位置> 或 --check-chars=<字符位置> | 指定要比较的字符。 |
准备数据
[root@hadoop-node01 ~]# vim a.txt
[root@hadoop-node01 ~]# cat a.txt
hello
java
name
java
php
spring
shell
shell
spring
springmvc
mybatis
hello
ajax
排序并去重
cat a.txt | sort | uniq
[root@hadoop-node01 ~]# cat a.txt | sort | uniq
ajax
hello
java
mybatis
name
php
shell
spring
springmvc
统计各行在文件中出现的次数:
sort a.txt | uniq -c
[root@hadoop-node01 ~]# sort a.txt | uniq -c
1 ajax
2 hello
2 java
1 mybatis
1 name
1 php
2 shell
2 spring
1 springmvc
在文件中找出重复的行:
sort a.txt | uniq -d
[root@hadoop-node01 ~]# sort a.txt | uniq -d
hello
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
毕竟工作也这么久了 ,除了途虎一轮,也七七八八面试了不少大厂,像阿里、饿了么、美团、滴滴这些面试过程就不一一写在这篇文章上了。我会整理一份详细的面试过程及大家想知道的一些问题细节
美团面试经验
字节面试经验
菜鸟面试经验
蚂蚁金服面试经验
唯品会面试经验
因篇幅有限,图文无法详细发出
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
发出
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算