shell编程之sort、uniq、tr
sort
依据不同的数据类型进行排序
sort [选项] 参数
常用选项:
-f : 忽略大小写
-b :忽略每行前面的空格
-M : 按照月份进行排序
-n :按照数字进行排序
-r :反向排序
-u :等同于uniq,表示相同的数据仅显示一行
-t :指定分隔符,默认使用【Tab】键分隔
-o <输出文件> :将排序后的结果转存至指定文件
-k :指定排序区域
如果不 -n,默认按ASCLL码排序
cat /etc/passwd | sort
cat /etc/passwd | sort -n -t: k3 以冒号进行分隔第三列按照数字排序 -nr 反向排序
cat /etc/passwd | sort -n -t: k3 -o xx.txt 把这些东西输出到xx.txt文件中(覆盖)
cat xx.txt | sort -u 去重
uniq
常用选项:
-c :进行计数
-d :仅显示重复行
-u :仅显示出现一次的行
cat xx.txt | uniq 只会对连续的重复的去重 如果不连续的重复的不会去重cat xx.txt | sort | uniq 先排序再去重
cat xx.txt | sort | uniq -c 计数
cat xx.txt | sort | uniq -d 把重复的显示出来
cat xx.txt | sort | uniq -u 筛选不是重复的行
打印第一列重复的
tr
常用选项
-c :取代所有不属于第一字符集的字符
-d :删除所有属于第一字符集的字符
-s :把连续重复的字符以单独一个字符表示
-t :先删除第一字符集较第二字符集多出的字符
cat xx.txt | tr 'a' 'A' 把所有a替换成A
cat xx.txt | tr "'" '/' 把单引号
cat xx.txt | tr 'a-z' 'A-Z' 把小写字母替换成大写字母
cat xx.txt | tr 'apple' 'APPLE' 并不是单词替换 而是对应的字母替换 a对A p对P l对L e对E
cat xx.txt | tr -s 'p' 去掉连续字符p
cat xx.txt | tr -s 'pr' 去掉连续字符p和r
cat xx.txt | tr -d 'apple' 删除字母 a、p、l、e
cut 列截取工具
常见选项:
-b :按字节截取
-c :按字符截取,常用于中文
-d :指定以什么为分隔符截取,默认为制表符
-f :通常和-d一起
cat xx.txt | cut -b 2 取每行第二个字节
cat xx.txt | cut -c 2 取每行第二个字 符
cat /etc/passwd | cut -d: -f3 截取以冒号分隔第三列
cat /etc/passwd | cut -d: -f1,3 截取以冒号分隔的第一列和第三列
cat /etc/passwd | cut -d: -f1-3 截取以冒号分隔的第一列到第三列
shell编程之sort、uniq、tr相关推荐
- 【拔刀吧少年】之sort uniq tr cut eval常用命令
sort uniq tr cut eval 一.排序命令--sort 1.格式 2.常用选项 二.去除重复行操作命令--uniq 1.格式 2.常用选项 3.示例 三.字符转换命令--tr 1.格式 ...
- 详解Shell编程之if语句实战(小结)
本篇文章主要介绍了详解Shell编程之if语句实战(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 对于if语句,其实很多人都肯定的听说过,那么if语句到底是什么, ...
- shell编程之case语句及函数
shell编程之case语句 文章目录 shell编程之case语句 一.case语句 1. 语法结构 2. 应用案例 二.函数 1. 什么是函数? 2. 如何定义函数? 3. 函数如何调用? ㈠ 当 ...
- linux下简单的shellfor循环程序,对Linux下shell编程之for循环的实例讲解
对Linux下shell编程之for循环的实例讲解 linux 下 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致 一.常用for循环结构 #语法一 ...
- shell编程之 if 判断语句
shell编程之 if 判断语句 判断语句介绍 - if 单if 语句(一个条件一个判断结果) if..else 语句(一个条件两个判断结果) if..elif..else 语句(多条件多个判断结果) ...
- 【shell编程之expr的使用】
shell编程之expr的使用 语法格式 获取expr运算的结果 expr进行算数运算 expr进行字符串的处理 练习 expr是一个shell命令,可以使用man expr查看命令的帮助手册 语法格 ...
- shell编程之awk
一.awk简介 awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.可以在命令行中使用,但更多是作为脚本来使用. awk的 ...
- Shell 编程之 sed 与 awk
一.正则表达式 1.正则表达式概述 使用单个字符串来描述.匹配一系列符合某个句法规则的字符串,由普通字符与特殊字 符组成,一般在使用脚本编程.文件编辑器中,如 php.python.shell 等,简 ...
- 文本处理工具命令xargs, sort, uniq, tr, cut, paste, wc等
1. 计数命令wc wc -l [file]: 输出文件[file]的行数 wc -c [file]: 输出文件[file]的byte(字节)数 wc -m [file]: 输出文件[file]的字符 ...
最新文章
- 【Spring】ioc的常用注解
- arguments.callee查询调用b函数的是哪个函数
- jQuery 中的 Ajax
- 传一个实体一个string_没想到,一个小小的String还有这么多窍门
- 乞力马扎罗山 海明威_我如何对海明威编辑器(一种流行的写作应用程序)进行反向工程,并从泰国的海滩上构建了自己的数据库
- HDU 5691 ——Sitting in Line——————【状压动规】
- 刚刚开通博客,分享Asp.Net的GridView的基本用法
- MIT深度学习课堂开课啦,自动驾驶圈大牛排队来讲课丨资源
- mysql数据基本指令_mysql数据库常用命令(详细)
- centos7 firewalld
- Rust : 如何use本地化crate与 dependencies 和 path
- python turtle库下载_turtle库安装
- 微信H5分享钉钉分享设置方法
- 计算机毕业设计django基于python智能在线考试阅卷系统(源码+系统+mysql数据库+Lw文档)
- oracle用户互信失效,LINUX SSH互信与用户家目录权限
- 求关于oled屏的闪屏问题
- vue与C#实现自定义表单审批流程构建-后端
- 基于用户体验的手机产品交互设计原则
- Jenkins 如何与 Kubernetes 集群的 Tekton Pipeline 交互?
- 软件:推荐八款电脑实用软件,你都用过吗?