文章目录

  • 一、列截取工具-cut
    • 1、cut概述
    • 2、常用选项
    • 3、案例演示
  • 二、排序工具-sort
    • 1、sort概述
    • 2、常用选项
    • 3、案例演示
  • 三、去重工具-uniq
    • 1、uniq概述
    • 2、uniq的常用选项
    • 3、案例演示
  • 四、修改工具-tr
    • 1、 tr概述
    • 2、tr的常用选项
    • 3、案例演示
  • 五、面试题
  • 六、总结

一、列截取工具-cut

1、cut概述

cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定file 参数,cut命令将读取标准输入。必须指定 -b(字节) 、-c(字符) 或 -f(第几列) 标志之一。

字符和字节的区别

  • 字节(byte) : 是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下1字节等于8位
  • 字符(character) :计算机中使用的字母、数字、字和符号
  • 一般在英文状态下,一个字母或字符占用一个字节, 一个汉字占用两个字节

2、常用选项

格式:cut [选项] [文件路径]
选项 功能
-b 按字节截取
-c 按字符截取,常用于中文
-d 指定以什么为分割符截取,默认为制表符
-f 通常和-d一起使用(表示截取第几列)

3、案例演示

案例1:截取/etc/passwd 文件的中root用户的第7列(-d -f)

案例2:按字节截取(-b)

案例:按字符截取(-c)


二、排序工具-sort

1、sort概述

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

例如:数据和字符的排序就不一样

2、常用选项

格式:sort [选项] [文件路径]
选项 功能
-t 指定分隔符,默认使用[Tab]键或空格分隔
-k 指定排序区域,哪个区间排序
-n 按照数字进行排序,默认是以字母形式排序
-u 等同于uniq,表示相同的数据仅显示一行,注意:如果行尾有空格就去重就不成功
-r 反向排序,默认升序,
-o 将排序的结果转存至指定文件

3、案例演示

案例1:不加任何选项,默认按照第一列升序,字母的话就是从a到z

案例2:指定分隔符(-t),指定排序的列(-k),升序排列

案例3:指定分隔符,指定排序的列,降序排列(-r)

案例4:指定分隔符,指定排序的列,降序排列,并将排序后的内容输入到/home/ydq/ydq.txt中(-o)

案例5:去掉文件中重复的行(-u),(重复的行可以是不连续的)

三、去重工具-uniq

1、uniq概述

主要用于去除连续的重复行

注意: 是连续的行。所以通常和sort结合使用,先排序使之变成连续的行, 再执行去重操作,否则不连续的重复行它不能去重。

2、uniq的常用选项

格式:uniq  [选项]  文件路径

不加选项的话,是直接去掉重复的行。

选项 功能
-c 统计重复的行(在它前面标上重复的次数)
-d 仅显示重复的行
-u 仅显示出现一次的行(不重复的行)

3、案例演示

案例1:统计连续重复的行(-c)

案例2:显示连续重复的行(-d),显示不连续重复的行(-u)

案例3:查看当前登录用户,去掉重复的行

案例4:统计历史登录过系统的用户

四、修改工具-tr

转换或删除文件中的字符

1、 tr概述

  • 可以用一个字符来替换另一个字符,

  • 或者可以完全除去一些字符

  • 还可以用来去掉重复的字符

  • 从标准输入中替换,缩减和注释或删除字符,并将结果写到标准输出

2、tr的常用选项

从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。

格式: tr  [选项]   '字符集1'  '字符集2'
选项 功能
-d 删除字符
-s 删除所有重复出现的字符,只保留一个(如果是空行,全部去掉)

3、案例演示

案例1:将所有小写的改成大写

案例2:替换字母,一一对应替换

案例3:替换字符,不是一一对应

案例4:将字符替换成特殊字符

案例5:删除字符(-d)

案例6:对字符去重(-s)

案例7:去掉所有的空行

五、面试题

案例1:统计当前连接主机数

案例2:统计当前主机的连接状态

六、总结

cut :表示截取列

可以按照字符(-c)按照字节(-b)或者根据分割符(-d)来选取要截取的列(-f)。

sort:表示排序

  • 默认以字母排序,数字排序需要加选项(-n),反向排序需要加选项(-r)。
  • 还可以选择按照哪一列进行排序,需要先定义分割符(-t),然后根据分割符去选取对应的列(-k),最后进行排序。
  • 可以将排序后的内容输入到其它文件,使用选项(-o)可以指定需要注入的文件名。
  • 还可以将进行去重(-u),可以是不连续的行,进行去重。

uniq:表示去重

  • 主要注意的是它必须是连续的行,不然无法去重
  • 可以根据选项,选择显示不重复的行(-u)
  • 还可以选择显示重复的行(-d)
  • 还可以统计连续重复的数量(-c)

tr:表示修改字符

  • 可以修改对应的字符,按照字符对应一一修改,如果有重复的字符,它会按照最后一个字符对应的修改字符进行替换,如果对应的字符不够时,它会将修改的最后一个字符进替换。
  • 还可以进行删除(-d),删除文本中所对应的字符
  • 还可以进行去重(-s),但是去重的字符必须是连续在一起的两个字符(会保留其中一个),不然无法去重成功。

shell之常用工具(cut、sort、uniq、tr)相关推荐

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

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

  2. shell脚本——grep cut sort uniq tee diff paster tr等小工具的使用方法

    shell脚本的一些小工具的使用方法 grep 语法和选项 实例 cut 语法和选项 实例 sort 语法和选项 实例 uniq 语法和选项 实例 tee 语法和选项 实例 diff 语法和选项 实例 ...

  3. shell之常用工具的使用

    shell入门 文章目录 shell入门 一.文本处理工具 1. grep工具 2. cut工具 3. sort工具 4.uniq工具 5.tee工具 6.diff工具 7. paste工具 8. t ...

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

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

  5. Shell——常用工具(cut、sed、awk、sort)

    文章目录 一.cut 1.基本用法 2.示例演示 二.sed 1.基本用法 2.示例演示 三.awk 1.基本用法 2.示例演示 四.sort 1.基本用法 2.示例演示 一.cut 1.基本用法 c ...

  6. SHELL基础知识-工具篇-paste、tr

    1.paste工具 paste工具用于合并文件行 常用选项: -d:自定义间隔符,默认是tab -s:串行处理,非并行 2. tr工具 tr用于字符转换,替换和删除:主要用于删除文件中控制字符或进行字 ...

  7. shell bash常用工具教程(curl,jq)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 curl curl -h来查看请求参数的含义 -v 显示请求的信息 -X 选项指定其它协议 get:curl -v 192.168.33.1:8080 ...

  8. shell之常用小工具(sort、uniq、tr、cut)

    目录 一.sort 排序 1.格式 2.常用选项 3.sort 例子 1.不加任何选项 如:sort /etc/passwd 2. 去重 (sort -u) 3. 指定分隔符(-t),指定排序的列(- ...

  9. Shell之常用命令(diff、path、cut、sort、uniq、tr、path)

    Shell之常用命令(diff.cut.sort.uniq.tr.path) diff命令 作用:比较两个文件或目录的不同 diff [options] target1 target2 比较结果读取方 ...

  10. Shell--常用小工具(sort、uniq、tr、cut)

    文章目录 一.sort工具 1.语法格式 2.常用的选项 3.sort举例 二.uniq工具 1.语法格式 2.常用选项 3.uniq举例 三.tr工具 1.语法格式 2.常用选项 3.tr举例 四. ...

最新文章

  1. 分享--关于学习的一些事儿
  2. workspace-project-target关系与解耦工程结构总结
  3. java小基础之instanceof运算符
  4. 从迁移到Java 7的小技巧
  5. axios某一接口失败后不调用_axios 源码系列之如何取消请求
  6. scala 方法调用_Scala中的方法调用
  7. Table被web编程弃用的原因
  8. [牛客数据库SQL实战] 11~20题及个人解答
  9. 通过Web页面获取基站位置(Web端,源码下载)
  10. php评论倒序 zblog_ZblogPHP调用最新、评论最多、浏览最多、置顶文章
  11. Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
  12. Apple音视频播放器 QuickTime Player7.7.9 专业版
  13. 大型医院叫号管理系统源码
  14. 出差经历的人在囧途那一天
  15. svn的客户端从安装到运行
  16. 京东店铺托管引流技巧有哪些?
  17. Linux简介,linux终端符号含义
  18. matlab抢占时隙算法,基于公平性的D2D时隙调度算法
  19. 编程利器!有道词典命令行快速翻译
  20. cannot find implementation for com.xx.xx.xxDatabase. XXDatabase_Impl does not exist

热门文章

  1. 1192: 删除记录(结构体专题)
  2. Docker资源控制的Cgroup--CPU权重等--Block IO、bps和iops 的限制详细操作
  3. 伽卡他卡免费电子教室软件_笔记
  4. DEDE标签调用说明
  5. 神经网络第一篇——感受野的学习、计算与思考
  6. 计算机技能测试题五,计算机基本技能测试题(第五套
  7. matlab gram schmidt,如何在 MATLAB 中用 行代码实现 Gram-Schmidt 正交化
  8. 广东英语高考怎么计算机,2019广东高考英语听说考试大纲出炉!附三大题型得分套路!...
  9. 达人评测 华为手表 WATCH 3怎么样
  10. aardio - 【库】plusList——二次封装plus自绘组件库