文本处理工具

xiaoxiao2021-02-27  625

1.diff命令

• diff 命令用于比较两个文件的内容 , 以了解其区别。它还可用于创建补丁文件。补丁文件用于在企业环境的多台计算机之间对相似文件进行更改

    修补命令patch

patch 采用补丁文件 patchfile ( 包含由 diff 生成的差异列表 ) 并将这些差异应用于生成补丁版的一个或多个原始文件。通常 , 补丁版替换原始文件 , 但当指定 -b 选项时 , 可以制         作备份。将用 .orig 文件名后缀重命名原始文件

*diff file file1 ##比较两文件

*diff -c file feil1 ##显示上下文周围的行

*安装patch.x86_64

*diff -c file file1 > file.path ##生成补丁

  patch file file.path ##给file打补丁

*patch -b file file.path ##补丁同时备份file

2.grep命令

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

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

*example

*grep root passwd ##在passwd中查找root

*-i ##模糊查找,忽略大小写

*-n ##显示行号

*-v ##反向查找

*-c ##显示行数

*-E ##查找两个字符

*-E ^test" ##查找test在行首的字符

*-E test$" ##查找test在行尾的字符

*-r ##递归查找目录里的字符

3.cut命令

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

*cut -d : -f 1 passwd ##-d :指定分隔符为“:” -f:指定字段为1

*-c ##指定文本列

*显示ifconfig中的IP ##-F “ ”  以“ ”为分隔符

4.sort、uniq命令

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

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

*sort -n num ##按升序排列

*-r ##按降序排列

*-u ##不显示重复行

*uniq -c ##计行数

*-d ##显示重复行

*-u ##显示不重复行

*-t 以:为指定分隔符  -k 3指定字段为3

*显示系统占用内存5

5.tr命令

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

*tr 'a-z' 'A-Z' < file ##将小写转换为大写

6.sed命令

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

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

  (将命令限制用于仅那些行)

*example

*sed 's/sbin/westos/g' -i passwd ##将passwd中所有sbin换为westos并输入(-i)

*-e ##同时转换两个字符

*passwd复制到westos

*sed '3,5s/sbin/llll/g' passwd ##将3到5行的sbin转换为llll

*sed 5p passwd ##重复第5行

*sed 5d passwd ##隐藏第5行

*-n ##单独列出

*单独列出35

*sed -ne 3p -ne 5p passwd ##单独列出3和5行

转载请注明原文地址: https://www.6miu.com/read-425.html

最新回复(0)