Marvel-Site Marvel-Site
首页
  • Java

    • Java基础
    • Java进阶
    • Java容器
    • Java并发编程
    • Java虚拟机
  • 计算机基础

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • Linux
  • 框架|中间件

    • Spring
    • MySQL
    • Redis
    • MQ
    • Zookeeper
    • Git
  • 架构

    • 分布式
    • 高并发
    • 高可用
    • 架构
  • 框架

    • React
    • 其他
  • 实用工具
  • 安装配置

    • Linux
    • Windows
    • Mac
  • 开发工具

    • IDEA
    • VsCode
  • 关于
  • 收藏
  • 草稿
  • 索引

    • 分类
    • 标签
    • 归档
GitHub (opens new window)

Marvel

吾必当乘此羽葆盖车
首页
  • Java

    • Java基础
    • Java进阶
    • Java容器
    • Java并发编程
    • Java虚拟机
  • 计算机基础

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • Linux
  • 框架|中间件

    • Spring
    • MySQL
    • Redis
    • MQ
    • Zookeeper
    • Git
  • 架构

    • 分布式
    • 高并发
    • 高可用
    • 架构
  • 框架

    • React
    • 其他
  • 实用工具
  • 安装配置

    • Linux
    • Windows
    • Mac
  • 开发工具

    • IDEA
    • VsCode
  • 关于
  • 收藏
  • 草稿
  • 索引

    • 分类
    • 标签
    • 归档
GitHub (opens new window)
  • Java

  • 计算机基础

    • 数据结构与算法

    • 计算机网络

    • 操作系统

    • Linux

      • Linux性能命令
      • Linux查看进程命令
      • Shell脚本
      • Linux读取文件命令
        • 1. cat
        • 2. head
        • 3. tail
        • 4. cut
  • 框架|中间件

  • 架构

  • 后端
  • 计算机基础
  • Linux
Marvel
2022-09-19
目录

Linux读取文件命令

# Linux读取文件命令

使用的测试文件 test.txt

11 12 13 14 15 16 17
21 22 23 24 25 26 27
31 32 33 34 35 36 37
41 42 43 44 45 46 47
1
2
3
4

# 1. cat

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。

⭐ 语法格式

cat [-AbeEnstTuv] [--help] [--version] fileName

⭐ 参数说明

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

⭐ 实例

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2
1

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3
1

清空 test.txt 文档内容:

cat /dev/null > test.txt
1

cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE
1

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0
1

# 2. head

取出文件前面几行

head [-n number] 文件 
1

**测试:获取前两行

[root@master ~]# head -n 2 test.txt 
11 12 13 14 15 16 17
21 22 23 24 25 26 27
1
2
3

# 3. tail

取出文件后面几行

tail [-n number] 文件 
1

测试1:获取后两行

[root@master ~]# tail -n 2 test.txt 
31 32 33 34 35 36 37
41 42 43 44 45 46 47
1
2
3

测试2:获取 2 到最后一行

[root@master ~]# tail -n +2 test.txt 
21 22 23 24 25 26 27
31 32 33 34 35 36 37
41 42 43 44 45 46 47
1
2
3
4

测试3:从第 2 行开始显示 2 行

[root@master ~]# cat test.txt | tail -n +2 | head -n 2
21 22 23 24 25 26 27
31 32 33 34 35 36 37
1
2
3

测试4:显示 2 到 3 行

[root@master ~]# cat test.txt | head -n 3 | tail -n +2
21 22 23 24 25 26 27
31 32 33 34 35 36 37
1
2
3

# 4. cut

命令:cut [-bn/c/df] [file]

参数说明

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f :与-d一起使用,指定显示哪个区域。

-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。

测试1:按空格分割 test.txt 第 1 行,获取第 3 个元素

[root@master ~]# head -n 1 test.txt | cut -d ' ' -f 3
13
1
2

测试2:显示第 3 行,第 2 列的元素

[root@master ~]# cat test.txt | head -n 3 | tail -n +3 | cut -d ' ' -f 2
32
1
2
编辑 (opens new window)
上次更新: 2023/08/20, 21:21:52
Shell脚本
Spring-控制反转IOC

← Shell脚本 Spring-控制反转IOC→

最近更新
01
位运算
05-21
02
二叉树
05-12
03
Spring三级缓存解决循环依赖
03-25
更多文章>
Theme by Vdoing | Copyright © 2022-2024 Marvel
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式