unit6~~文本处理工具

来源:互联网 发布:office word 2016 mac 编辑:程序博客网 时间:2024/05/22 09:23

1.diff 命令

• diff 命令用于比较两个文件的内容 , 以了解其区别。它还可
用于创建补丁文件。补丁文件用于在企业环境的多台计算

机之间对相似文件进行更改。

diff       file1           file2

                -c       ##显示上下文周围的行

               -u       ##使用统一输出格式(对于生成补丁文件很有用)

               -r        ##比较两个目录中文件的不同

执行代码结果如下图:


修补命令 patch

patch 采用补丁文件 patchfile ( 包含由 diff 生成的差异列表 ) 并将这
些差异应用于生成补丁版的一个或多个原始文件。通常 , 补丁版替换原
始文件 , 但当指定 -b 选项时 , 可以制作备份。将用 .orig 文件名后缀
重命名原始文件
• patch 可用于将简单的补丁文件应用于使用以下语法的单个文件
– [root@host etc]# patch issue patchfile
Patching file issue

以下命令显示如何使用通过 diff -Naur 创建的补丁文件。用户更改为
与从中创建补丁文件的原始目录相似的可比较目录后 , 将执行 patch
– [user@host orig-dir]$ patch -b < /tmp/patchfile
Patching file hosts
Patching file network

patch           file      file.path               ##打补丁

               -b                                          ##备份原文件


2.grep命令

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

• 模式可以包含正则表达式元字符 , 因此始终为正则表达式加
引号通常被视为一种好办法。在本单元后面的部分中将介
绍基本正则表达式.

grep               关键字符       文件|目录            ##在文件或目录中查找含有关键字行

grep              -i                                                  ##忽略大小写

                      -n                                                 ##显示关键字所在行

                      -c                                                  ##显示过滤结果的个数

                       -v                                                 ##反向过滤

                       -E     “关键字1|关键字2”           ##过滤多个关键字

                        -r     目录                                    ##在目录中查找含有关键字的文件

注意:       ^关键字                                            ##以关键字开头

                   关键字$                                            ##以关键字结尾


3.cut命令

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

cut                                          ##截取字符

cut         -d       分隔符           ##指定分隔符

cut          -f         1,  7           ##显示指定的列

cut          -c         1-4               ##显示指定的字符


4.sort命令

• sort 用于排序文本数据。该数据可以位于
文件中或其他命令输出中。 Sort 通常与管
道一起使用

sort        -n                    ##按数值而非字符排序

               -r                     ##按数值倒序排列

               -u                    ##消除重复,数值排序

               -t                       ##指定分隔符

               -k                      ##指定列



5.uniq命令

sort      file     |uniq       -c   ##去除冗余并统计冗余次数

                                        -d  ##显示冗余行

                                        -u  ##显示唯一行


6.tr命令
• tr 用于转字符 : 即 , 如果给定了两个字符范围 , 则只要发现
某个字符位于第一个范围中 , 就会将其转换为第二个范围中
对等的字符。该命令通常在 shell 脚本中使用 , 以按预期
情况转换数据
• tr 'A-Z' 'a-z' <file


7.sed命令

• sed 命令是流编辑器 , 用于对文本数据流执行编辑。假定
要处理一个文件名 , sed 将对文件中的所有行执行搜索和
替换 , 以将修改后的数据发送到标准输出 ; 即 , 其实际上
并不修改现有文件。与 grep 一样 , sed 通常在管道中使

• 由于 sed 命令通常包含可以解释为 shell 元字符的字符 ,
因此请按下面示例所示引用 sed 命令。默认情况下 , sed
对文件中的所有行执行操作。在提供 sed 时 , 可带有地址
( 将命令限制用于仅那些行)

sed         's/原字符/替换字符/g          file

sed        -e   ‘策略1’     -e     ‘策略2’    file

sed        -i             file                              ##把转换后的内容输入到指定文件

sed         ‘3,5s/原字符/替换字符/g’     ##3-5行替换

sed           -xd                                          ##屏蔽指定行

sed           -xp                                           ##复制指定行

sed           -n     xp                                   ##只显示指定行


7.awk命令

awk  ‘条件类型1{动作1}  条件类型2{动作2}  ......’              filename

条件类型:

                        NF             ##每一行拥有的字段总数

                        NR            ##当前处理第几行

                        FS            ##当前的分隔符默认为空格键

                        BEGIN    ##提前预定义变量

                        END          ##最后执行


0 0