文本处理工具

时间:2022-11-18 14:38:14
1.diff命令
   用于比较两个文件的内容,可用于创建补丁文件
   diff        -c        ##显示上下文周围的行
                -u        ##使用统一输出格式(可用于生成补丁文件)

                -r         ##从指定目录开始对文件进行递归式比较

   文本处理工具

   文本处理工具

2.patch命令
   采用补丁文件patch并将这些差异用于生成补丁版的一个或多个原始文件

   **需要下载服务软件:yum install patch -y

  1)用diff生成的补丁文件file.path给file文件打补丁

  文本处理工具

  2)此时原file文件被覆盖,若要备份源文件加上参数-b即可(会生成一个.orig文件)

   文本处理工具

3.grep命令

   显示文件中与某关键字匹配的行。也可以处理标准输入(如键盘输入)

   grep                                             ##不加参数,默认精确查找(区分大小写)

                         -i                            ##模糊搜索(不区分大小写)

                         -n                           ##显示匹配的行号(前置显示)

                         -c                           ##显示匹配的行数(只显示数字)

                         -r                           ##对文件进行递归式搜索,从命名目录开始

                         -v                           ##反选

                         -E                          ##查找多个关键字的行(整体用“”括起,关键字之间用|分隔)

   **各参数举例(从/etc/passwd文件中复制一部分到/mnt中做如下实验):

   文本处理工具

   文本处理工具

   文本处理工具

   **^root表示以root开头,test$表示以test结尾

   **查找passwd文件中关键字为test的行,除了以test开头,或以test结尾的行

      grep test passwd | grep -E -v "^test|test$"

   **递归查找/mnt目录中,含有westos 的行

      grep  -r westos  /mnt

4.cut命令

   剪贴文件中的文本字段或将其显示到标准输出

   cut              -d                      ##指定用于提取字段的分隔符(Tab是默认值)

                      -f   1,7              ##指定要从每行中提取的字段

                      -c  1-4              ##指定要从每行中提取的文本列

5.sort命令

   用于排序文本数据(该数据可位于文件或其他命令输出中),sort经常与管道符一起使用。

   sort            -n                      ##按数值而非字符排序(默认正序,加r为倒序,加u重复行只显示一次)

                     -k                      ##设置排序字段

                     -t                      ##指定其他字段分隔符(默认为空格)

   **以:为分隔符,对file里面的第三个字段进行排序:

      sort  -t  :   -k  3  -n  file

6.uniq命令

   删除文件中重复的相邻行

   uniq           -u                     ##显示唯一行

                    -d                     ##显示重复行

                    -c                     ##每行显示一次(每行出现次数计数)

   **对file1文件排倒序,每行只显示一次并统计每行出现次数:

      sort -rn file1 | uniq -c

7.tr命令

   用于转换字符。

   **将file中的大写字母转换为小写:

      tr  'a-z'  'A-Z'  < file1

8.sed命令

   流编辑器 , 用于对文本数据流执行编辑(通常与管道符一起使用)。

   sed           's/old/new/g'      ##执行字符串转换(将old换成new),s表示对全文处理,g表示每行的每个字符串都替换,否则只替换每行第一个字符串

                    -d                     ##删除匹配行

                    -e  '策略1'  -e  '策略2'       ##处理多个策略

                    -i  file               ##将转换后的内容输入到file

                    '3,5s/old/new/g'              ##对3-5行进行替换

                    xd                    ##屏蔽指定行

                    xp                    ##复制指定行

**显示本机(虚拟机)IP(只显示IP):

   ifconfig eth0 | grep inet  | grep  inet6 -v | awk  -F  " "  '{print $2}'

**显示占用内存前五的进程的PID:

   ps ax -o pid --sort -%mem | grep PID -v | head -n 5

**给passwd文件加上行号输入到westos文件中:

   cat  -b  passwd > westos