学习目标

  • 熟练掌握以下命令
  • 1.cut
  • 2.sort
  • 3.wc
  • 4.uniq
  • 5.tee
  • 6.tr
  • 7.split
  • 8.awk
  • 9.sed / grep

熟练掌握以下命令

1.cut

准备工作

成绩表信息(使用 逗号 分割)

 zhangsan 68 99 26lisi 98 66 96wangwu 38 33 86zhaoliu 78 44 36maq 88 22 66zhouba 98 44 46

说明

第一列:姓名
第二列:语文成绩
第三列:数学成绩
第四列:英语成绩

vim 1.txt

111:aaa:bbb:ccc
222:ddd:eee:fff
333:ggg:hhh
444:iii

目标

cut 根据条件 从命令结果中 提取 对应内容

实现
第一步: 截取出1.txt文件中前2行的第5个字符

head -2 1.txt | cut -c 5


第二步: 截取出1.txt文件中前2行以”:”进行分割的第1,2段内容

head -2 1.txt | cut -d ':' -f 1,2head -2 1.txt | cut -d ':' -f 1-2


小结

通过 cut 操作 目标文件 可以根据条件 提取对应内容

2.sort

准备工作

vim score.txt

zhangsan 68 99 26
lisi 98 66 96
wangwu 38 33 86
zhaoliu 78 44 36
maq 88 22 66
zhouba 98 44 46

说明

第一列:姓名
第二列:语文成绩
第三列:数学成绩
第四列:英语成绩

目标

sort可以针对文本文件的内容,以行为单位来排序

路径

第一步:对字符串排序
第二步:去重排序
第三步:对数值排序
第四步:对成绩排序

实现
第一步:对字符串排序

创建文本,添加字符串

[root@Test01 tmp]# vim 2.txt
banana
apple
pear
orange
pear

查看文本

[root@Test01 tmp]# cat 2.txt
banana
apple
pear
orange
pear

排序

[root@Test01 tmp]# sort 2.txt
apple
banana
orange
pear
pear

第二步:去重排序

它的作用很简单,就是在输出行中去除重复行。

[root@Test01 tmp]# sort -u 2.txt
apple
banana
orange
pear

第三步:对数值进行排序

准备数据

[root@Test01 tmp]# vim 3.txt
1
3
5
7
11
2
4
6
10
8
9

查看文本

[root@Test01 tmp]# cat 3.txt
1
3
5
7
11
2
4
6
10
8
9

默认按照字符串排序

[root@Test01 tmp]# sort 3.txt
1
10
11
2
3
4
5
6
7
8
9

升序

[root@Test01 tmp]# sort -n 3.txt
1
2
3
4
5
6
7
8
9
10
11

倒序

[root@Test01 tmp]# sort -n -r 3.txt
11
10
9
8
7
6
5
4
3
2
1

合并式

[root@Test01 tmp]# sort -nr 3.txt
11
10
9
8
7
6
5
4
3
2
1

第四步: 对成绩排序

# 根据第二段成绩 进行倒序显示 所有内容
sort -t ',' -k2nr score.txt

3.wc

准备数据

vim 4.txt
111
222 bbb
333 aaa bbb
444 aaa bbb ccc
555 aaa bbb ccc ddd
666 aaa bbb ccc ddd eee

目标

显示指定 文件 字节数,单词数,行数 等信息

路径

第一步:显示指定 文件 字节数 单词数 行数 信息
第二步:只显示 文件 的行数
第三步:统计多个文件的 行数 单词书 字节数
第四步:查看 /etc 目录下 有多少个 子内容

实现
第一步: 显示指定文件字节数, 单词数, 行数 信息.


第二步: 只显示 文件 的行数


第三步: 统计多个文件的 行数 单词数 字节数

第四步: 查看 /etc 目录下 有多少个 子内容

小结

通过 wc文件 就可以 统计 文件的 字节数,单词数,行数

4.uniq

 uniq 命令用于检查及删除文本文件中重复出现的行,一般与 sort 命令 结合使用

准备工作
vim 5.txt

张三    98
李四    100
王五    90
赵六    95
麻七    70
李四    100
王五    90
赵六    95
麻七    70

目标

uniq 命令用于检查及删除文本文件中重复出现的行,一般与 sort 命令 结合使用

路径

第一步:实现去重效果
第二步:去重且统计出现的次数

实现
第一步:实现去重效果


第二步:不但去重,还要 统计出现的次数


小结

  • 通过 uniq [选项] 文件 就可以完成 去重行 和 统计次数

5.tee

目标

通过 tee 可以将命令结果 通过管道 输出到多个文件中

实现

  • 将去重统计的结果 放到 a.txt、b.txt、c.txt 文件中

      cat 5.txt  |sort |uniq -c | tee a.txt b.txt c.txt
    



小结

  • 通过 tee 可以将命令结果 通过管道 输出到 多个文件

6.tr

目标

  • 通过 tr 命令用于 替换 或者 删除 文件中的字符

路径

  • 第一步:实现 替换 效果
  • 第二步:实现 删除 效果
  • 第三步:单词计数

实现
第一步:实现 替换 效果

# 将 小写i 替换成  大写 I
# 把itheima的转换为大写
# 把 HELLO 转成 小写-----------------------------------# 将 小写i 替换成  大写 I
echo "itheima" | tr 'i' 'I'# 把itheima的转换为大写
echo "itheima" |tr '[a-z]' '[A-Z]'# 把 HELLO 转成 小写
echo "HELLO" |tr '[A-Z]' '[a-z]'


第二步: 实现删除效果

  • 需求: 删除abc1d4e5f中的数字

      echo 'abc1d4e5f' | tr -d '[0-9]'
    


第三步:单词计数

准备数据:words.txt

hello,world,hadoop
hive,sqoop,flume,hello
kitty,tom,jerry,world
hadoop

1 将 逗号 换成 换行
2 排序
3 去重
4 计数

统计每个单词出现的次数
cat words.txt | tr ',' '\n' | sort | uniq -c

7.split

准备数据

# 查看 /etc目录下 以.conf以结尾的文件的内容
cat -n /etc/*.conf# 将命令结果 追加到 /export/v.txt 文件中
cat -n /etc/*.conf >> /export/v.txt

目标

  • 通过 split 命令 将 大文件 切分成 若干 小文件

路径

  • 第一步:按照 字节 将 大文件 切分成若干小文件
  • 第二步:按照 行数 将 大文件 切分成若干小文件

实现

第一步


第二步


小结

  • 通过 split 选项 文件名 命令将 大文件 切分成 若干 小文件

8.awk

准备数据

  • 之前创建好的学生成绩表 score.txt

目标

  • 通过 awk 实现 模糊查询,按需提取字段,还可以进行 判断 和 简单的运算等

步骤

  • 第一步:模糊查询
  • 第二步:指定分隔符,根据下标显示内容
  • 第三步:指定输出字段的分隔符
  • 第四步:调用 awk 提供的函数
  • 第五步:通过 if 语句 判断 $4 是否及格
  • 第六步:段内容 求和

实现

第一步:查询 zhangsan 和 lisi 的成绩


第二步: 指定分割符, 根据下标显示内容



第三步: 指定分割符, 根据下标显示内容


第四步: 调用 awk 提供的函数


第五步: if语句 查询及格的学生信息


第六步: 段内容 求学科平均分

awk -F ',' 'BEGIN{}{total=total+$4}END{print total, NR, (total/NR)}' score.txt

9.sed / grep

准备数据:1.txt

aaa java root
bbb hello
ccc rt
ddd root nologin
eee rtt
fff ROOT nologin
ggg rttt

目标

  • 通过 sed 可以实现 过滤 和 替换 功能

路径

  • 第一步:实现 查询 功能
  • 第二步:实现 删除 功能
  • 第三步:实现 修改 功能
  • 第四步:实现 替换 功能
  • 第五步:对 原文件 进行操作
  • 第六步:综合 练习

实现

第一步

  • 练习1 列出 1.txt的 1~5行 的数据

      sed -n -e '1,5p' 1.txt
    

  • 练习2 列出1.txt的所有数据

      sed -n -e '1,$p' 1.txt
    

  • 练习3 列出1.txt的所有数据 且 显示行号

      sed -n -e '1,$=' -e '1,$p' 1.txt 简化版cat -n 1.txtcat -b 1.txtnl 1.txt
    


  • 练习4: 查找1.txt中包含root行

      sed -n -e '/root/p' 1.txt
    

  • 练习5 列出1.txt中包含root的内容,root不区分大小写,并显示行号

      nl 1.txt | sed -n -e '/root/p'
    

 nl 1.txt | grep -i root

 cat -n 01.txt | grep -i root

  • 练习6 查找出1.txt中 字母r后面是多个t的行,并显示行号

      nl 1.txt | sed -nr -e '/r+t/p'
    

 sed -nr -e '/r+t/p' -e '/r+t/=' 1.txt


第二步: 实现 删除 功能

  • 练习1 删除1.txt中前3行数据,并显示行号

      nl 1.txt | sed -e '1,3d'
    

  • 练习2 保留1.txt中前4行数据,并显示行号

      nl 1.txt | sed -e '5,$d'
    

 nl 1.txt | sed -n -e '1,4p'

第三步: 实现 修改 功能

  • 练习1: 在1.txt的第二行后添加aaaaa,并显示行号

      nl 1.txt | sed -e '2a aaaaa'
    

  • 练习2 在1.txt的第1行前添加bbbbb,并显示行号

      nl 1.txt | sed -e '1i bbbbb'
    

第四步: 实现 替换 功能

  • 练习1 把1.txt中的nologin替换成为huawei,并显示行号

      nl 1.txt | sed -e 's/nologin/huawei/'
    

  • 练习2 把1.txt中的1,2行替换为aaa,并显示行号

      nl 1.txt | sed -e '1,2c aaa'
    

第五步: 对 原文件 进行操作

  • 练习1 在1.txt中把nologin替换为 huawei

      sed -i -e 's/nologin/huawei/' 01.txt
    

  • 练习2 在1.txt文件中第2、3行替换为aaaaaa

      sed -i -e '2,3c aaa' 01.txt
    


注意:在进行操作之前,最好是对数据进行备份,放置操作失误,数据无法恢复!

  • 练习3 删除1.txt中前2行数据,并且删除原文件中的数据

      sed -i -e '1,2d' 01.txtnl 1.txt 查看数据
    


第六步: 综合 练习

  • 练习1 获取ip地址

      ifconfig eth0 | grep "inet addr" | sed -e 's/^.*inet addr://' | sed -e 's/Bcast:.*$//'
    

  • 练习2 从1.txt中提出数据,匹配出包含root的内容,再把nologin替换为itheima

      nl 01.txt | grep 'root' | sed -e 's/nologin/itheima/'
    

 nl 01.txt | sed -n -e '/root/p' | sed -e 's/nologin/itheima/'

 #只显示替换内容的行nl 01.txt | sed -n -e '/root/{s/nologin/itheima/p}'

  • 练习3 从1.txt中提出数据,删除前2行,并把nologin替换为itheima,并显示行号

      nl 01.txt | sed -e '1,2d' | sed -e 's/nologin/itheima/'
    

Linux学习(三):管道相关命令相关推荐

  1. Linux学习之网络相关命令

    Linux的核心,网络相关 很多工具也是通过分析加工 /proc./sys 下的数据来工作的,而那些更加细致.专业的性能监测和调优,可能还需要更加专业的工具(perf.systemtap等)和技术才能 ...

  2. linux命令看文件内容,Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

  3. Linux查询网络配置相关命令

    Linux查询网络配置相关命令 查看网络接口信息 ifconfig:查看系统所有网络接口相关信息 ifconfig -s:查看所占内存 查看及修改主机名 hostname:查看主机名称 hostnam ...

  4. Linux学习(三)

    Linux学习(三) vim编辑器与shell脚本 vim文本编辑器 在linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数 vim编辑器中设置了三种模式 命令模式 末行模式 编辑模 ...

  5. Linux网络属性配置相关命令

    Linux网络属性配置相关命令: 前言: Linux属性配置可以分为两类.一类通过命令配置,另一类通过修改配置文件配置. Linux属性配置的相关命令可以分为三大类: 一.ifcfg命令家族:①ifc ...

  6. nova 命令汇总三 ——网络相关命令

    nova 命令汇总三 --网络相关命令 和网络相关的操作主要包括:add-fixed-ip.add-floating-ip.add-secgroup.fixed-ip-get .fixed-ip-re ...

  7. linux断电并重启命令,Linux系统关机重启相关命令

    1.立即重启命令 方法1: [root@itbkz ~]# init 6 方法2: [root@itbkz ~]# reboot 方法3: [root@itbkz ~]# shutdown -r no ...

  8. 好记性不如烂笔头-linux学习笔记4apache相关知识

    好记性不如烂笔头-linux学习笔记4apache相关知识 apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 ...

  9. Linux 启动jar项目相关命令(解决关闭Linux终端,程序自动停止问题)

    Linux 启动jar项目相关命令 序言 启动jar包命令相关问题及解决办法 问题描述 解决办法 结语 序言 开发中在服务器上部署项目避免不了的,无论是测试还是开发都会遇到要重启项目及部署项目,所以部 ...

  10. 【Linux学习】之chown命令

    [Linux学习]之chown命令 1. 创建目录 [root@servera ~]# mkdir /home/consultants 2. 将consultants 目录的组所有权更改给 consu ...

最新文章

  1. pandas数据预处理(字段筛选、query函数进行数据筛选、缺失值删除)、seaborn可视化分面图(facet)、seaborn使用Catplot可视化分面箱图(Faceted Boxplot)
  2. python%20语言 20培训_Python语言学习之20个值得学习的Python技巧
  3. PS调出通透唯美阳光外景女生照片
  4. hdfs.DFSClient: Exception in createBlockOutputStre
  5. JS浮点数运算Bug的解决办法
  6. Django(part34)--一对多映射
  7. HTML5清除2个div标签的空白,DIV标签里面IMG图片下方留有空白怎么办
  8. 学习日报 7-10(验证码)
  9. 【直播分享】实现LOL小地图英雄头像分析案例【华为云分享】
  10. python 基本数据类型及其功能-2-字符串 重点命令
  11. python编程与几何图形pdf_《程序员数学:使用 Python 进行 3D 图形,机器学习和仿真》PDF 免费下载...
  12. 修改TIM的默认路径
  13. 基于Zigbee和LabView的无线温度采集系统
  14. 魅族手机usb计算机连接文件夹,手机连接电脑传输文件(手机usb连接电脑只充电)...
  15. html事件页面切换表格,表格页面切换快捷键 可以使用快捷键CTRL+TAB键
  16. Java实现163邮箱发送邮件到QQ邮箱
  17. 魔兽世界插件编写-第一个插件-空插件 EmptyAddOns
  18. 其实你不懂我的芯--SIM卡的前世今生
  19. (附源码)ssm智慧社区管理系统 毕业设计 101635
  20. 从知识工程到知识图谱全面回顾

热门文章

  1. 今日行业报告更新10月25日
  2. python希腊字母字符串_#10 Python字符串
  3. Images Aesthetic Predictors Based on Weighted CNNs 论文翻译解读
  4. Revit命令名称与命令ID
  5. html+css制作简历
  6. 腾讯实时音视频SDK[三]:小程序端实现
  7. python提供了几个基本的数值运算操作符_慢步学习,二级python,数字类型及其运算...
  8. 研究目标与研究内容的撰写
  9. matlab_医学CT重建 ART,SART算法
  10. 项目学习 —— 图书商城后台管理