sort、uniq、tr、cut、正则表达式

  • 一、sort命令
  • 二、uniq命令
  • 三、tr命令
  • 四、cut命令
  • 五、正则表达式
    • 1.基础正则表达式
    • 2.扩展正则表达式

一、sort命令

以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序

语法格式:
sort 选项 参数
cat file | sort 选项
常用选项:-f:忽略大小写,默认会大写字母排在前面-b:忽略每行前面的空格-n:按照数字进行排序-r:反向排序-u:等同uniq,表示相同的数据仅显示一行,去重-t:指定字段分隔符,默认使用tab键分隔-k:指定排序字段-o <输出文件>:将排序后的结果转存至指定文件




sort -t ':' -k 3  -n /etc/passwd

用于排查占用磁盘较大的文件
du -a | sort -nr -o du.txt

二、uniq命令

用于报告或者忽略文件中连续的重复行,常与sort命令结合使用

语法格式:
uniq 选项 参数
cat file | uniq 选项常用选项:
-c:进行计数,并删除文件中重复出现的行
-d:仅显示连续的重复行
-u:仅显示出现一次的行




三、tr命令

常用于对来自标准输入的字符进行替换、压缩和删除

语法格式:
tr 选项 参数常用选项:
① -c:保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换
② -d:删除所有属于字符集1的字符
③ -s:将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1
④ -t:字符集2 替换 字符集1,不加选项同结果参数:
字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数”字符集2“指定转换操作时,必须使用参数”字符集2“指定转换的目标字符集。但执行删除操作时,不需要参数”字符集2“字符集2:指定要转换成的目标字符集
echo "abc" | tr 'a-z' 'A-Z'

echo abc | tr -c "ab\n" "0"

echo "abc" | tr -d "ab"

echo "abbbbbbbbbbccccccc" | tr -s "bc"

删除空行
echo -e "aa\n\n\n\n\nbb" | tr -s "\n"

把路径变量中的冒号":",替换成换行符"\n"
echo $PATH | tr -s ":" "\n"

四、cut命令

显示行中的指定部分,删除文件中指定字段

语法格式:
cut [选项] 参数
cat file | cut 选项常用选项:
-f:通过指定哪一个字段进行提取。cut命令使用"TAB"作为默认的字符分隔符-d:"TAB"是默认的分隔符,使用此选项可以更改为其他分隔符–complement:此选项用于排除所指定的字段–out-delimiter:更改输出内容的分隔符

五、正则表达式

通常用于判断语句中,用来检查某一字符串是否满足某一格式

  • 正则表达式是由普通字符与元字符组成
  • 普通字符包括大小写字母、数字、标点符号及一些其他符号
  • 元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式

1.基础正则表达式

基础正则表达式常见元字符:(支持的工具:grep、egrep、sed、awk)
\ :转义字符,用于取消特殊符号的含义,例:\!、\n、\$等^ :匹配字符串开始的位置,例:^a、^the、^#、^[a-z]$ :匹配字符串结束的位置,例:word$、^$匹配空行. :匹配除\n之外的任意的一个字符,例:go.d、g..d* :匹配前面子表达式0次或者多次,例:goo*d、go.*d[list] :匹配list列表中的一个字符,例:go[ola]d,[abc]、[a-z]、[a-z0-9]、[0-9]匹配任意一位数字[^list] :匹配任意非list列表中的一个字符,例:[^0-9]、[^A-Z0-9]、[^a-z]匹配任意一位非小写字母\{n\} :匹配前面的子表达式n次,例:go\{2\}d、'[0-9]\{2\}'匹配两位数字\{n,\} :匹配前面的子表达式不少于n次,例:go\{2,\}d、'[0-9]\{2,\}'匹配两位及两位以上数字\{n,m\} :匹配前面的子表达式n到m次,例:go\{2,3\}d、'[0-9]\{2,3\}'匹配两位到三位数字注:egrep、awk使用{n}、{n,}、{n,m}匹配时“{}”前不用加“\”

2.扩展正则表达式

扩展正则表达式元字符:(支持的工具:egrep、awk)
+ :匹配前面子表达式1次以上,例:go+d,将匹配至少一个o,如god、good、goood等? :匹配前面子表达式0次或者1次,例:go?d,将匹配gd或god() :将括号中的字符串作为一个整体,例1:g(oo)+d,将匹配oo整体1次以上,如good、gooood等| :以或的方式匹配字条串,例:g(oo|la)d,将匹配good或者glad

Shell的sort、uniq、tr、cut、命令和 正则表达式相关推荐

  1. 【拔刀吧少年】之sort uniq tr cut eval常用命令

    sort uniq tr cut eval 一.排序命令--sort 1.格式 2.常用选项 二.去除重复行操作命令--uniq 1.格式 2.常用选项 3.示例 三.字符转换命令--tr 1.格式 ...

  2. 文本处理工具命令xargs, sort, uniq, tr, cut, paste, wc等

    1. 计数命令wc wc -l [file]: 输出文件[file]的行数 wc -c [file]: 输出文件[file]的byte(字节)数 wc -m [file]: 输出文件[file]的字符 ...

  3. sed,sort,uniq,join,cut,paste,split

    linux学习--sed,sort,uniq,join,cut,paste,split ==============================sed======================= ...

  4. paste shell 分隔符_shell基础11:文件分类、合并和分割(sort,uniq,join,cut,paste,split)

    基本sort 最基本的s o r t方式为sort filename,按第一域进行分类(分类键0).实际上读文件时s o r t操作将行中各域进行比较,这里返回基于第一域s o r t的结果 [sam ...

  5. Linux Shell脚本编程--cut命令

    cut cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符 [root@www ...

  6. Shell脚本编程--cut命令

    cut cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符 [root@www ...

  7. 65.shell特殊符号与和cut,sort,wc,uniq,tee,tr,split命令

    liunx的特殊符号 代表字母或者数字 多个 ? 任意一个字符 "#" 注释 \ 脱义字符 | 管道符 1.* 代表任意个任意字符或者数字 [root@localhost /]# ...

  8. shell特殊符号cut命令,sort、wc、uniq命令,tee、tr、split命令

    shell特殊符号cut命令 特殊符号 "*" 通配符,代表零个或多个字符 "?" 代表一个字符 "#" 注释字符 "\" ...

  9. shell脚本编写之常用基础命令(diff、patch、cut、sort、uniq、与||、test、tr)

    文章目录 一.shell(计算机壳层) 二.shell中常用的基本命令 1.diff 命令(比对文件) 1.1 基本概念以及命令的格式 1.2 结果读取方式 1.3 diff中常用的参数 2.patc ...

最新文章

  1. JavaScript引用类型之Array数组之强大的splice()方法
  2. pyqt5实战之透明样式和页面切换和弹出新窗口
  3. struts2(三) 输入校验和拦截器
  4. 将数据、代码、栈放入不同的段
  5. 从ReadImage到ML- 一个不错的博客
  6. 计算机桌面组成部分教案,计算机基础 教案设计(完整版).doc
  7. C++学习之路 | PTA乙级—— 1030 完美数列 (25 分)(精简)
  8. postgresql表中间加列_PostgreSQL ALTER TABLE命令
  9. Zabbix(五)利用Zabbix部署onealert云告警平台
  10. SAP License:家装ERP
  11. springboot启动图标_SpringBoot基础教程
  12. Linux tcpdump命令实战
  13. Java语言开发的开源商城系统——Javashop简介
  14. bat批处理文件修改注册表
  15. 有关js获取屏幕宽度问题
  16. 【Python实战】有趣的代码百里挑一:这款“水波特效”脚本送给你,绝版哦~(建议保留)
  17. 读书笔记:Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition
  18. ios开发App的图标背景色不能是透明
  19. PUN2多人联网之房间选择、创建房间
  20. 更改计算机网络密码,宽带密码修改后断网,怎样修改路由器密码

热门文章

  1. Leetcode-Median of Two Sorted Arrays
  2. Python中的进程间通信
  3. 《超低延时直播白皮书》已发布,推动直播延时降低90%以上
  4. LeetCode——双指针
  5. 一文读懂 @Decorator 装饰器——理解 VS Code 源码的基础
  6. Elasticsearch 索引容量管理实践
  7. 使用Chrome打开http://www.cutv.com/demo/live_test.swf页面时swf文件自动下载问题
  8. String 转化 list
  9. 简单说一下kafka 与其他消息队列
  10. HDFS的Shell客户端操作