第六单元-文本处理工具
1.diff
diff 命令用于比较两个文件的内容 , 以了解其区别。它还可用于创建补丁文件。补丁文件用于在企业环境的多台计算机之间对相似文件进行更改-c ##显示上下文周围的行
-r ##从指定的目录开始文件案执行递归式比较
-u ##使用同一输出格式(对于生成补丁文件很有用)
示图:两个文件内容显示
2.patch
patch 采用补丁文件 patchfile ( 包含由 diff 生成的差异列表 ) 并将这些差异应用于生成补丁版的一个或多个原始文件。通常 , 补丁版替换原始文件 , 但当指定 -b 选项时 , 可以制作备份。将用 .orig 文件名后缀重命名原始文件示图:diff结合使用
示图:
3.grep
grep 将显示文件中与模式匹配的行。其也可以处理标准输入 ##模式可以包含正则表达式元字符 , 因此始终为正则表达式加引号通常被视为一种好办法。在本单元后面的部分中将介入-i ##执行不区分大小写搜索
-n ##前置返回行的行号
-r ##对文件执行递归式搜索,从命名目录开始
-c ##显示过滤的行的个数
-v ##返回不包含模式的行
-E “关键字1|关键字2” ##过滤多个关键字
注意: ^关键字 ##以关键字开头
关键字$ ##以关键字结尾
示图:复制/etc/passwd到桌面,进行修改如下图
4.cut
-d ##指定用于提取字段的分隔符(Tab是默认值)
-f ##指定要从每行提取的字段
-c ##指定要从每行提取的文本列
示图:参数c
5.sort
-n ##按数值而非字符排序
-k ##设置排序字段
-t ##指定其他字段分隔符
-r ##倒序排列
示图:
6.uniq
-u ##仅显示唯一行
-d ##显示重复行
-c ##每行显示一次(包括出现计数)
示图:uniq与sort结合使用实例
7.tr
tr 'A-Z' 'a-z' <file
示图:
8.sed
由于 sed 命令通常包含可以解释为 shell 元字符的字符 ,因此请按下面示例所示引用 sed 命令。默认情况下 , sed对文件中的所有行执行操作。在提供 sed 时 , 可带有地址
sed 's/原字符/替换字符/g' file ##执行字符串转换,将原字符换为替换字符
sed '3,5s/原字符/替换字符/g' file ##3-5行全部替换
sed -e '策略1' -e '策略2' file ##同时执行两个操作
sed -i file ##将转换后的内容输入到指定文件内容
sed xd file ##屏蔽匹配的行
sed xp file ##复制指定行
sed -n xp file ##只显示指定行
示图:
练习题目:
1.建立脚本使满足以下条件*存在userfile,里边存放用户信息,使脚本将文件中的用户建立
*存在passwordfile,里边存放用户密码,使脚本将此文件中的密码自动匹配设置到新建立的用户上
示图:脚本内容
示图:脚本检测结果
示图:
3.用命令实现只显示IP
示图: