在Linux中,有时我们需要对不同的文本,进行不同的处理,从而达到各种不同的目的,所以,我们就用到了各种的文本处理工具,此次就介绍几种常用命令的用法及展示。


1. 文件查看工具 cat  tac  rev  nl

cat -n 加行号 -b 空行不加 -E加换行信息 -A显示所有信息 -s 压缩空行 

tac 行反过来显示 

rev 列反过来显示

nl  加行号 空行不加

Linux文本处理工具_第1张图片


2. 较长文本文件查看命令

more: 分页查看文件

more [OPTIONS...] FILE... 

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


less :一页一页地查看文件或STDIN 输出

查看时有用的命令包括:

/文本 搜索 文本

n/N 个 跳到下一个 或 或 上一个匹配

less 命令是man 命令使用的分页器


3. 抽取文本的工具

head -c前几个字符 -n(默认10)

tail -c后几个字符 -n (-f 追踪 -n0 &) -F

tailf与tail-f一样 但有点是文件不发生变化时不访问文件,所以更省内存


cut

格式:cut -d: -f1,3 /app/f1 取出以冒号为分隔符的第一和第三列

   cut -c2-5 取出地2-5个字符

paste 合并(并列)-d(指定分隔符,默认用TAB) -s 合并(上下)

paste f1 f2 

paste -s f1 f2


4. 分析文本的工具

wc -l(总行数) -w(单词总数) -c(字节总数) -m(字符数) -L(显示文件中最长行的长度)


sort -r 执行反方向(由上至下)整理

     -n 执行按数字大小整理

     -f 选项忽略(fold)字符串中的字符大小写

     -u 选项(独特,unique)删除输出中的重复行

     -t : 选项使用: 做为字段界定符

     -k 3 选项按照使用: 字符分隔的3


uniq -c: 显示每行重复出现的次数

     -d: 仅显示重复过的行

     -u: 仅显示不曾重复的行



5. 比较文件,与打补丁

diff 比较差两个文件内容的不同  -b备份


 diff -u foo.conf foo2.conf > foo.patch

 patch -b foo.conf foo.patch

将补丁文件存为 foo.patch,然后使用 patch命令将补丁打入f1中,变成与f2一样的格式。


练习:

  1 、ss -nt 查询并发连接的远程IP最多的前三个IP

4e2208fb0ca170bdbaff2a6c4d4035a8.png-wh_

  2 、找出ifconfig ” “网卡名” 命令结果中本机的IPv4 地址

9b23f3f7950b09adfb3bbd440a4df3ff.png-wh_

  3 、查出分区空间使用率的最大百分比值

  4 、查出用户UID 最大值的用户名、UID 及shell 类型

0d6db842c9ff6851bd6cf45b066f9006.png-wh_

  5 、查出/tmp 的权限,以数字方式显示

86df147261697f3da61ad916976a8b60.png-wh_

  6 、统计当前连接本机的每个远程主机IP 的连接数,并按从大到小排序