Shell——sort uniq tr cut eval常用命令
一、sort命令
以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
1、格式
sort [选项] 参数 //or cat file | sort 选项
2、常用选项
-f :忽略大小写,默认会大写字母排在前面 -b :忽略每行前面的空格 -n :按照数字进行排序 -r :反向排序 -u :等同uniq,表示相同的数据仅显示一行,去重 -t :指定字段分隔符,默认使用tab键分隔 -k :指定排序字段 -o <输出文件> :将排序后的结果转存至指定文件
3、示例
二、uniq命令
用于报告或者忽略文件中连续的重复行,常与sort命令结合使用
1、格式
uniq [选项] 参数 //or cat file | uniq 选项
2、常用选项
-c :进行计数,并删除文件中重复出现的行 -d :仅显示连续的重复行 -u :仅显示出现一次的行
3、示例
三、tr命令
常用来对来自标准输入的字符进行替换、压缩和删除
1、格式
tr [选项] [参数]
2、常用选项
-c :保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换 -d :删除所有属于字符集1的字符 -s :将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1 -t :字符集2 替换 字符集1,不加选项同结果
3、参数
字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;
字符集2:指定要转换成的目标字符集
4、删除空行
echo -e "aa\n\n\n\n\nbb" | tr -s "\n" cat testfile5 | tr -s "\n"
5、把路径变量中的冒号“:”,替换成换行符“\n”
echo $PATH | tr -s ":" "\n" echo -e "aa\n\n\n\n\nbb" | tr -s "\n" ":"
6、删除Windows文件“造成”的‘^M’字符
Linux中遇到换行符("\n")会进行回车+换行的操作,回车符反而只会作为控制字符("^M")显示,不发生回车的操作。而windows中要回车符
+换行符("\r\n")才会回车+换行,缺少一个控制符或者顺序不对都不能正确的另起一行
cat abc.txt | tr -s "\r" "\n" > new_file //or cat abc.txt | tr -d "\r" > new_file
或者用dos2nuix将Windows格式改成Linux格式,提前安装dos2unix
补充:数组排序新方法
四、cut命令
1、格式
cut 选项 参数 cat file | cut 选项
2、常用选项
-b :以字节为单位进行分割 ,仅显示行中指定直接范围的内容 -c :以字符为单位进行分割 , 仅显示行中指定范围的字符 -d :自定义分隔符,默认为制表符”TAB” -f :显示指定字段的内容 , 与-d一起使用 -n :取消分割多字节字符 –complement :此选项用于排除所指定的字段 –out-delimiter :更改输出内容的分隔符 cut -d ':' -f 1 /etc/passwd grep '/bin/bash' /etc/passwd | cut -d ':' -f 1-4,6,7 //以-分隔的开始字段和结束字段指定字段的范围 grep '/bin/bash' /etc/passwd | cut -d ': ' --complement -f 2 //排除第二个字段 cut -d ':' -f1, 7 --output-delimiter=' /etc/ passwd //输出分隔符使用空格分隔
五、eval命令
加上eval时,shell会执行命令之前扫描两次。eval命令将首先会先扫描命令行进行所有命令适用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY