文本常见处理工具

本文介绍了Linux系统中常用的文本处理工具,包括查看文本内容的cat、nl、tac和rev,分页查看的more和less,显示文本前或后行的head和tail,按列抽取文本的cut,合并文件的paste,以及文本分析工具wc、sort、uniq和文件比较工具diff、patch、vimdiff和cmp。这些工具在日常的文本操作和文件管理中非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.文件内容查看命令


1.1查看文本文件内容

1.1.1 cat

cat可以查看文本内容

格式:

cat [OPTION]... [FILE]...

常见选项:

  • -E:显示行结束符号$
  • -A:显示所有控制符
  • -n:对显示出的每一行进行编号
  • -b:非空行编号
  • -s:压缩连续的空行成一行

1.1.2 nl

显示行号,相当于cat -b

1.1.3 tac

逆向显示文本内容

1.1.4 rev

将同一行的内容逆向显示

1.2查看非文本文件内容

1.2.1 hexdump

1.2.2 od

1.2.3 xxd

2.分页查看文件内容


2.1 more

可以实现分页查看文件,可以配合管道实现输出信息的分页

格式

more [OPTIONS...] FILE...

选项:

  • -d:显示翻页及退出显示

2.2 less

less也可以实现分页查看文件或STDIN输出,less命令是man命令使用的分页器

查看时有用的命令包括:

/文本 搜索 文本
n/N 跳到下一个 或 上一个匹配

3.显示文本前或后行内容


3.1 head

可以显示文件或标准输入的前面行

格式:

head [OPTION]... [FILE]...

选项:

  • -c # 指定获取前#字节
  • -n # 指定获取前#行,#如果为负数,表示从文件头取到倒数第#前
  • -# 同上

3.2 tail

tail和head相反,查看文件或标准输入的倒数行

格式:

tail [OPTION]... [FILE]...

常用选项:

  • -c # 指定获取后#字节
  • -n # 指定获取后#行,如果#是负数,表示从第#行开始到文件结束
  • -# 同上
  • -f 跟踪显示文件fd新追加的内容,常用日志监控,相当于 --follow=descriptor,当文件删除再新建同名文件,将无法继续跟踪文件
  • -F 跟踪文件名,相当于--follow=name --retry,当文件删除再建同名文件,将可以继续跟踪文件
  • tailf 类似tail -f,当文件不增长时并不访问文件,节约资源,centos8无此工具

4.按列抽取文本cut


cut 命令可以提取文本文件或 STDIN 数据的指定列
格式
cut [OPTION]... [FILE]...

常用选项:

  • -d DELIMITER: 指明分隔符,默认tab
  • -f FILEDS:

            #: 第#个字段,例如:3

            #,#[,#]:离散的多个字段,例如:1,3,6

            #-#:连续的多个字段, 例如:1-6

            混合使用:1-3,7

  • -c 按字符切割
  • --output-delimiter=STRING指定输出分隔符

5.合并多个文件paste


paste 合并多个文件同行号的列到一行
格式
paste [OPTION]... [FILE]...
常用选项:
  • -d #分隔符:指定分隔符,默认用TAB
  • -s # 所有行合并成一行显示

6.分析文本的工具


文本数据统计: wc
整理文本: sort
比较文件: diff patch

6.1收集文本统计数据 wc


wc 命令可用于统计文件的行总数、单词总数、字节总数和字符总数
可以对文件或 STDIN 中的数据统计
常用选项:
  • -l       只计数行数
  • -w     只计数单词总数
  • -c     只计数字节总数
  • -m   只计数字符总数
  • -L    显示文件中最长行的长度

6.2文本排序 sort

把整理过的文本显示在 STDOUT ,不改变原始文件
格式
sort [options] file(s)
常用选项
  • -r 执行反方向(由上至下)整理
  • -R 随机排序
  • -n 执行按数字大小整理
  • -h 人类可读排序,: 2K 1G
  • -f 选项忽略(fold)字符串中的字符大小写
  • -u 选项(独特,unique),合并重复项,即去重
  • -t c 选项使用c做为字段界定符
  • -k # 选项按照使用c字符分隔的 # 列来整理能够使用多次

6.3去重uniq

uniq 命令从输入中删除前后相接的重复的行
格式:
uniq [OPTION]... [FILE]...
常见选项:
  • -c: 显示每行重复出现的次数
  • -d: 仅显示重复过的行
  • -u: 仅显示不曾重复的行
uniq 常和 sort 命令一起配合使用

6.4比较文件

6.4.1diff

diff 命令比较两个文件之间的区别
-u 选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件

6.4.2 patch

patch 复制在其它文件中进行的改变(要谨慎使用)
-b 选项来自动备份改变了的文件

6.4.3 vimdiff

相当于 vim -d

6.4.4 cmp

范例:查看二进制文件的不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值