文章目录

  • 1. 什么是管道命令
  • 2.第一个管道命令
  • 3. cut
    • 3.1 cut能干什么?
    • 3.2 实现
      • 3.2.1 截取出1.txt文件中前2行的第5个字符
      • 3.2.2 截取出1.txt文件中前2行以”:”进行分割的第1,2段内容
  • 4.sort 排序
    • 4.1 sort可以干嘛?
    • 4.2 举个例子
      • 4.2.1第一步: 对字符串排序
      • 4.2.2第二步: 去重排序
      • 4.2.3 第三步: 对数值排序
      • 第四步 : 对成绩排序
  • 5.wc 命令
    • 5.1 wc命令能干什么?
    • 5.2举个例子
      • 5.2.1第一步: 显示指定**文件** **字节数, 单词数, 行数** 信息.
      • 5.2.2 第二步: 只显示 文件 的行数
      • 5.2.3 第三步: 统计多个文件的 行数 单词数 字节数
      • 5.2.4 第四步: 查看 `/etc` 目录下 有多少个 子内容
    • 5.3 小结
  • 6.uniq 去重
    • 6.1 uniq 可以干什么
    • 6.2 举个例子
      • 6.2.1 实现去重效果
      • 6.2.2 不但去重,还要 统计出现的次数
    • 6.3 小结
  • 7.tee命令
    • 7.1 tee 是什么?
    • 7.2 举个例子
      • 7.2.1 将去重统计的结果 放到 a.txt、b.txt、c.txt 文件中
    • 7.3 小结
  • 8.tr 命令(这可不是html的表格行哦)
    • 8.1 是什么?
    • 8.2 举个例子
      • 8.2.1 第一步: 实现 替换效果
      • 8.2.2 第二步: 实现删除效果
      • 8.2.3 第三步: 单词计数
        • 准备工作
  • 9.split 命令
    • 9.1 是什么?
    • 9.2 举个例子
      • 9.2.1第一步: 按 **字节** 将 大文件 切分成 若干小文件
      • 9.2.2 第二步: 按 **行数** 将 大文件 切分成 若干小文件
    • 9.3 小结

1. 什么是管道命令

命令A|命令B --> 命令A的输出当做命令B的输入

管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。

  • 管道命令使用|作为界定符号,管道命令与上面说的连续执行命令不一样。

2.第一个管道命令

$ ls -al /etc | less

通过管道将ls -al的输出作为 下一个命令less的输入,方便浏览。

3. cut

3.1 cut能干什么?

  • cut 可以根据条件 从命令结果中提取对应内容
  • Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。
  • cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

3.2 实现

3.2.1 截取出1.txt文件中前2行的第5个字符

命令 含义
cut 动作 文件 从指定文件 截取内容
  • 参数
参数 英文 含义
-c characters 按字符选取内容
head -2 1.txt | cut -c 5
从1.txt文件中截取前两行 | 通过管道符将前一个的输入 转换到后面的输出 cut命令 -c参数按照字符选取内容 选取第五个

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

参数 英文 含义
-d '分隔符' delimiter 指定分隔符
-f n1,n2 fields 分割以后显示第几段内容, 使用 , 分割

范围控制

范围 含义
n 只显示第n项
n- 显示 从第n项 一直到行尾
n-m 显示 从第n项 到 第m项(包括m)
head -2 1.txt | cut -d ':' -f 1,2
head -2 1.txt | cut -d ':' -f 1-2
  • 通过 cut 动作 目标文件 可以根据条件 提取对应内容

4.sort 排序

4.1 sort可以干嘛?

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

4.2 举个例子

4.2.1第一步: 对字符串排序

[root@node01 tmp]# cat 2.txtbananaapplepearorangepear[root@node01 tmp]# sort 2.txt applebananaorangepearpear

4.2.2第二步: 去重排序

参数 英文 含义
-u unique 去掉重复的

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

[root@node01 tmp]# sort -u 2.txt applebananaorangepear

4.2.3 第三步: 对数值排序

参数 英文 含义
-n numeric-sort 按照数值大小排序
-r reverse 使次序颠倒
  • 准备数据

    [root@node01 tmp]# cat 3.txt
    1
    3
    5
    7
    11
    2
    4
    6
    10
    8
    9
    
  • 默认按照字符串排序

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

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

    [root@node01 tmp]# sort -n -r 2.txt
    11
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    
  • 合并式

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

    第四步 : 对成绩排序

参数 英文 含义
-t field-separator 指定字段分隔符
-k key 根据那一列排序
# 根据第二段成绩 进行倒序显示 所有内容
sort -t ',' -k2nr score.txt

5.wc 命令

5.1 wc命令能干什么?

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

5.2举个例子

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

命令 含义
wc 文件名 显示指定文件 字节数, 单词数, 行数 信息
[root@hadoop01 export]# cat 4.txt
111
222 bbb
333 aaa bbb
444 aaa bbb ccc
555 aaa bbb ccc ddd
666 aaa bbb ccc ddd eee[root@hadoop01 export]# wc 4.txt 6 21 85 4.txt

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

参数 英文 含义
-c bytes 字节数
-w words 单词数
-l lines 行数
[root@hadoop01 export]# wc 4.txt 6 21 85 3.txt

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

[root@hadoop01 export]# wc 1.txt 2.txt 3.txt 4   4  52 1.txt11  11  24 2.txt6  21  85 3.txt21  36 161 总用量[root@hadoop01 export]# wc *.txt4   4  52 1.txt11  11  24 2.txt6  21  85 3.txt6   6  95 score.txt27  42 256 总用量

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

[root@hadoop01 export]# ls /etc | wc -w
240

5.3 小结

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

6.uniq 去重

6.1 uniq 可以干什么

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

6.2 举个例子

6.2.1 实现去重效果

命令 英文 含义
uniq [参数] 文件 unique 唯一 去除重复行
# 准备内容
[root@hadoop01 export]# cat 5.txt
张三    98
李四    100
王五    90
赵六    95
麻七    70
李四    100
王五    90
赵六    95
麻七    70# 排序
[root@hadoop01 export]# cat 5.txt | sort
李四    100
李四    100
麻七    70
麻七    70
王五    90
王五    90
张三    98
赵六    95
赵六    95# 去重
[root@hadoop01 export]# cat 5.txt | sort | uniq
李四    100
麻七    70
王五    90
张三    98
赵六    95

6.2.2 不但去重,还要 统计出现的次数

参数 英文 含义
-c count 统计每行内容出现的次数
[root@hadoop01 export]# cat 5.txt | sort | uniq -c2 李四    1002 麻七    702 王五    901 张三    982 赵六    95

6.3 小结

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

7.tee命令

7.1 tee 是什么?

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

7.2 举个例子

命令 含义
命令结果 | tee 文件1 文件2 文件3 通过 tee 可以将命令结果 通过管道 输出到 多个文件

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

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

7.3 小结

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

8.tr 命令(这可不是html的表格行哦)

8.1 是什么?

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

8.2 举个例子

8.2.1 第一步: 实现 替换效果

命令 英文 含义
命令结果 | tr 被替换的字符 新字符 translate 实现 替换效果
# 将 小写i 替换成  大写 I
echo "itheima" | tr 'i' 'I'# 把itheima的转换为大写
echo "itheima" |tr '[a-z]' '[A-Z]'# 把 HELLO 转成 小写
echo "HELLO" |tr '[A-Z]' '[a-z]'

8.2.2 第二步: 实现删除效果

命令 英文 含义
命令结果 | tr -d 被删除的字符 delete 删除指定的字符
  • 需求: 删除abc1d4e5f中的数字
echo 'abc1d4e5f' | tr -d '[0-9]'

8.2.3 第三步: 单词计数

准备工作
[root@hadoop01 export]# cat words.txt
hello,world,hadoop
hive,sqoop,flume,hello
kitty,tom,jerry,world
hadoop

1 将, 换成 换行

2 排序

3 去重

4 计数

# 统计每个单词出现的次数
[root@hadoop01 export]# cat words.txt | tr ',' '\n' | sort | uniq -c1 flume2 hadoop2 hello1 hive1 jerry1 kitty1 sqoop1 tom2 world
  • 准备工作

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

9.split 命令

9.1 是什么?

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

9.2 举个例子

9.2.1第一步: 按 字节 将 大文件 切分成 若干小文件

命令 英文 含义
split -b 10k 文件 byte 将大文件切分成若干10KB的小文件

9.2.2 第二步: 按 行数 将 大文件 切分成 若干小文件

命令 英文 含义
split -l 1000 文件 lines 将大文件切分成若干1000行 的小文件

9.3 小结

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

  • 准备工作1:

    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
    

Linux管道命令及管道相关命令(详细)相关推荐

  1. oracle 格式化命令,Linux下硬盘格式化的相关命令Partprobe

    Linux下硬盘格式化的相关命令Partprobe [root@db ~]# fdisk /dev/sdb The number of cylinders for this disk is set t ...

  2. linux轮训创建文件夹,Linux文件和目录管理相关命令(三)

    通过前两篇的文章分享大家是否对Linux文件和目录管理的相关命令有所了解了呢?今天小编将继续为大家带来Linux文件和目录管理相关命令的第三篇文章,想要做Linux运维工程师的小伙伴,来看一看,希望能 ...

  3. linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)

    今天小编将继续为大家带来Linux文件和目录管理相关命令的文章,想要做Linux运维工程师的小伙伴,来看一看,希望能对你有帮助哦~ 一 查看文件内容 上面提到的一些命令例如ls只是用来显示文件的属性与 ...

  4. Linux查询端口和进程相关命令

    Linux查询端口和进程相关命令 https://www.cnblogs.com/zjdxr-up/p/8408885.html 香吧香 博客园 首页 联系 管理随笔 - 247 文章 - 4 评论 ...

  5. Linux虚拟机的启动及相关命令

    Linux虚拟机的启动及相关命令 1.Linux是什么?作为一名初学者,我之前也简单的认为它是一个类似Windows的操作系统,但后来经过进一步学习,才知道,Linux是内核,Linux内核加上GUN ...

  6. linux进程管理——进程管理相关命令

    linux系统上与进程有关的命令: 查看类命令: ps,pstree,pidof,pgrep\pkill,top,htop,glances,dstat,vmstat,pmap 管理类命令: bg,fg ...

  7. Linux系统进程的理解与相关命令的使用系列

    我们的知道进程是程序的实例,进程是程序向操作系统申请资源(如内存空间和文件句柄等)的基本单位.而线程是进程中可独立执行的最小单位,一个进程中可包含很多线程.而该进程中的所有线程共享着该进程申请的资源. ...

  8. 【每天一个 Linux 命令】网络相关命令(ifconfig、route、ping、traceroute、netstat、ss、telnet、rcp、scp)

    文章目录 ifconfig命令 ifconfig命令使用示例 route命令语法 route命令使用示例 ping命令语法 ping命令使用示例 traceroute命令语法 traceroute命令 ...

  9. 【大数据day02】——Linux系统02(find 搜索,VI编辑器_终端编辑器,用户权限相关命令,系统信息相关命令)

    搜索命令 1.find 搜索 1.1 目标 通过find命令 在特定目录下(包含它的后代目录) 搜索 符合条件的文件 1.2 实现 : 在指定目录中 根据名称 搜索 命令格式 序号 命令格式 作用 0 ...

  10. linux添加源ip路由命令,linux添加ip、路由相关命令

    1- Linux添加永久路由 vi /etc/sysconfig/network-scripts/route-eth1 ADDRESS0=192.168.10.0 NETMASK0=255.255.2 ...

最新文章

  1. IP、TCP、UDP报文头说明
  2. mysql autocommit 脚本_mysql autocommit的差异
  3. 领域驱动设计之领域模型_在领域驱动的设计,贫乏的领域模型,代码生成,依赖项注入等方面……...
  4. oracle .bash_profile在哪,oracle 11g 测试用户的 .bash_profile 环境变量,路径设置
  5. python2 和 python3 在print时的细微差别 (sep等操作)
  6. 物联网带来的安全梦魇
  7. python3的soker模块实现功能
  8. fullcalendar内容如何默认展示一条其他的点击展示_LinkedIn广告全指南:如何从零开始成为Linkedin广告高手?...
  9. gRPC 1.20.1 发布,谷歌开源的高性能 RPC 框架
  10. BZOJ4072[Wf2014] baggage
  11. 拼多多电商API接口详情
  12. scintilla下载地址及scintilla文档教程
  13. silvaco 学习笔记 2——自定义材料
  14. linux 修改ftp默认端口号,在linux中添加ftp用户,以及修改FTP默认端口号
  15. 电源防反接和防倒灌 - 使用MOS 管和运放实现理想二极管
  16. 最新Java后端面经合集 | 阿里腾讯百度字节
  17. 直播软件搭建直播服务架构
  18. Csdn视频第二十期 : 测试工具与流程讨论
  19. 中龍鸿业分享理财产品净值1是什么意思?依据净值怎样算预期收益
  20. 人脸识别系统的matlab仿真

热门文章

  1. 【ML】什么是数据标准化和归一化?应用场景是什么?
  2. 2021肇庆各中学高考成绩查询入口,2021高考即将来袭!肇庆各学校的同学们准备好了吗?...
  3. Mac配置LNMP开发环境全记录 一看就懂系列
  4. 关于saas模式开发
  5. 无轴螺旋输送机的安装可是一门技术活
  6. cuda C++ cuFloatComplex/cufftComplex/复数 exp
  7. 开源社已加入群聊,思否 AIGC Hackathon 扩列
  8. 几行Python代码画皮卡丘
  9. Python之第六章 内置容器 --- 字典(映射)
  10. 《非暴力沟通》读后感