第六单元  文本处理工具

1.diff

    diff命令用于比较两个文件的内容,以了解其区别。还可以用于创造补丁文件

    参数

            -c    显示上下文周围的内容

            -u    使用统一输出格式(用于生成补丁)

            -r     从指定的目录开始文件执行递归式比较


创建两个text文件

vim /mnt/old

hellow

world

vim /mnt/new

hellow

world

123

RH134 UNIT6_第1张图片

RH134 UNIT6_第2张图片

用diff命令比较这两个文件的不同

RH134 UNIT6_第3张图片



2.patch

    patch 采用补丁文件  patchfile(包含由diff生成的差异列表)并将这些差异应用于生成补丁版的一个或多个文件。一般补丁补丁替换原版文件  但指定-b参数后 会生成一个以.org为后缀名的原始文件

安装patch

yum install patch -y

RH134 UNIT6_第4张图片

用diff -u命令生成补丁文件

RH134 UNIT6_第5张图片

用patch命令更新old文件内容

RH134 UNIT6_第6张图片


3.grep

    grep 将显示文件中与模式匹配的行 也可以处理标准输入

    参数

            -i             执行不区分大小写搜索

            -n           显示搜索结果在原文件中的行数

            -r            递归式搜索目录

            -c            统计符合结果的行数

            -v            反向过滤

            -E            过滤多个关键字

处理实验文件

cp /etc/passwd /mnt                ###将/etc/passwd文件复制到/mnt中

RH134 UNIT6_第7张图片

RH134 UNIT6_第8张图片

RH134 UNIT6_第9张图片

RH134 UNIT6_第10张图片



4.cut

cut  用于剪切文件中的文本子段或列并将其显示到标准输出

参数

        -d                 指定用于提取字段的分隔符

        -f                  指定要从每行提取的字段

        -c                  指定要从每行提取的文本列

RH134 UNIT6_第11张图片

RH134 UNIT6_第12张图片


5.sort

sort  用于排序文本数据  该数据可以位于文件中或其他命令输出中

参数

            -n            按数值而非字符排序

            -k            设置排序字段

            -t             指定其他字段分隔符

            -u            去掉重复行

RH134 UNIT6_第13张图片

RH134 UNIT6_第14张图片

RH134 UNIT6_第15张图片



6.uniq

uniq  删除文件中重复的相邻行。若要只打印文件中出现的唯一行(“ 删除 ” 所有重复行 ), 必须首先对uniq 的输入进行排序。由于可以为uniq 指定其决策所基于的字段或列 , 因此这些字段或列是对其输入进行排序所必须的字段或列。如果未与选项一起使用 , uniq 会使用整个记录作为决策键 , 删除其输入中的重复行

参数

            -u             仅显示唯一行

            -d             显示重复行

            -c             每行只显示一次

RH134 UNIT6_第16张图片


7.tr

tr 用于转字符 常用于大小写转换

RH134 UNIT6_第17张图片


8.sed

sed  该命令是流编辑器,用于对文本数据执行编辑。

sed 's/nologin/westos/g' passwd                 ##替换输出中的nologin为westos
sed '1,5s/nologin/westos/g' passwd             ##替换输出中1-5行的nologin为wesots

RH134 UNIT6_第18张图片

RH134 UNIT6_第19张图片

sed -f   使用规则文件更改

规则文件内容

RH134 UNIT6_第20张图片

RH134 UNIT6_第21张图片


sed -i  将替换后的内容输入到指定文件中

RH134 UNIT6_第22张图片