ii第六单元 文本处理工具

linux中常用的基础命令
diff 命令
patch 命令
grep 命令
Cut 命令
sort 命令
uniq 命令
tr 命令
sed 命
1.diff 命令 比较两个文件的不同 用于创建补丁文件
diff -u file file.new >file.path  ##生成补丁文件
yum install patch -y         ##安装打补丁工具
(1)patch -b file file.path    ##给老文件件打补丁,并且对老文件进行备份
补丁版替换原始文件 , 但当指定 -b 选项时 , 可以制作备份。将用 .orig 文件名后缀
重命名原始文件
   17 vim file ##建立file
   18 vim file1##建立file1
   19 cat file  ##查看file
   20 cat file1 ##查看file
   21 diff file file1   ##比较两个文件的不同
   22 diff -c file file1 ## -c 显示上下文周围的行
   23 diff -u file file1 ## -u 使用统一的输出格式
   24 diff -u file file1 > file.path ##创建补丁文件
   25 cat file.path    ##查看补丁文件
   26 yum install patch -y  ##安装打补丁工具
   27 patch file file.path ##给文件打补丁,文件在前,补丁文件在后
   28 cat file          ##查看文件
   34 ls
   40 vim file
   41 patch -b file file1
   42 patch -b file file.path  ##给老文件件打补丁,并且对老文件进行备份
   43 ls
   44 cat file.orig 查看备份文件
   45 cat file 查看新文件
   46 history

(2)patch 可用于将简单的补丁文件应用于使用以下语法的单个文件
– [[email protected] etc]# patch issue patchfile
Patching file issue

(3)以下命令显示如何使用通过 diff -Naur 创建的补丁文件。用户更改为
与从中创建补丁文件的原始目录相似的可比较目录后 , 将执行patch
– [[email protected] orig-dir]$ patch -b < /tmp/patchfile
Patching file hosts
Patching file network
2.grep命令
grep 将显示文件中与模式匹配的行。
grep        -i              ##忽略大小写
        -v              ##反向过滤
        -E "关键字1|关键字2|....." ##过滤多个关键字

1  cd/mnt/
    2 ls
    3 cp /etc/passwd  /mnt/ ##将/etc/passwd复制到/mnt
   22 vim passwd    ##编辑passwd文本
   23 cat passwd    ##查看passwd文本
   24 grep -i test passwd  ##显示文件中含有test的行,忽略test大小写
   25 grep test passwd  ##显示文件中含有test的行
   26 grep -i test passwd -v ##显示文件中不含有test的行,忽略test大小写
   27 grep -E "TEST|root" passwd ##显示文件中含有TEST或root"的行
   28 grep -E "test|root" passwd##显示文件中含有test或root的行
   29 grep -E "test|ROOT" passwd##显示文件中含有test或ROOT的行
   30 grep -E "^test|ROOT" passwd##显示文件中行首是test或含有ROOT的行
   31 grep -E "test|ROOT$" passwd##显示文件中含有test或行尾是ROOT的行
   32 grep -E -i "^test|ROOT" passwd
    ##显示文件中行首是test或含有ROOT的行,忽略大小写
   33 grep test passwd  | grep -i testpasswd -v
    ##显示文件中不含有test的行,忽略test大小写
   34 grep test passwd  | grep -E  "^test|root$" -v
   显示文件中行首不是test或不含有root的含有test的行
   35 grep test passwd  | grep -E  "^test|test$" -v
   显示文件中行首不是test或不含有test的含有test的行
   36 grep test passwd  | grep -E  "^root|root$" -v
   显示文件中行首不是root或不含有root的含有test的行

grep -r 关键字 目录       ##在目录中过滤还有关键字的文件
       -n           ##显示结果所在行的行号
       -c           ##结果个数

练习

提取ifconfig eth0 中的ip地址

3.cut 命令
##-d指定用于提取字段的分隔符
##-f 指定要从每行中提取的字段
##-c 指定要从每行中提取的文本列
    2 cd /mnt/ 
    3 cp /etc/passwd . 
    4 vim passwd
    5 cat passwd
    6 cut -d : -f 1,7 passwd ##剪切每行中的1和7字段,并提取字段的分隔符
    -d : -f 一起用,不能分开
    7 cut -d : -f 1,3 passwd ##剪切每行中的1和3字段,并提取字段的分隔符
    8 cut -d : -f 1-3 passwd ##剪切每行中的1到3字段,并提取字段的分隔符
    9 cut -c  1-3 passwd ##剪切每行中的1到3列文本
 

3.sort 排序
        -n              ##纯数字
        -r              ##倒序
        -u              ##去掉重复行
        -t              ##指定分隔符
        -k              ##指定排序的列
4.uniq
处理重复行
        -c              ##统计重复行的个数
        -u              ##显示唯一的行
        -d              ##显示重复行

1 vim file
    2 sort -n file  ##纯数字排序
    3 sort -rn file  ##倒序
    4 sort -rnu file ##去掉重复行
    5 sort -rn file | uniq -c ##统计重复行的个数,倒序
    6 sort -rn file | uniq -u  ##显示唯一的行,倒序
    7 sort -rn file | uniq -d  ##显示重复行,倒序
   11 vim file
   12 cat file
   13 sort -t : -k 3 -n file ## 排序分隔符分的第三列
   14 sort -t : -k 3 -n file | uniq  -c##排序分隔符分的第三列,并统计重复行的个数
   15 sort -t : -k 1 -n file | uniq  -c##排序分隔符分的第1列,并统计重复行的个数
   17 sort -t : -k 2 file | uniq -c  ##排序分隔符分的第2列,并统计重复行的个数
   18 sort -t : -k 3 -n file | uniq -u##排序分隔符分的第三列,显示唯一的行
   19 sort -t : -k 3 -n file | uniq -d##排序分隔符分的第三列,显示重复行

5.tr 转换字符大小写
    4 vim file
    5 cat file
    6 tr ‘a-z‘ ‘A-Z‘ < file ##把file中所有小写字符转换成大写
    7 tr ‘A-Z‘ ‘a-z‘ < file ##把file中所有大写字符转换成小写
    8 history

6.sed   控制流输出
sed 命令是流编辑器 , 用于对文本数据流执行编辑。假定要处理一个文件名 , sed 将对文件中的所有行执行搜索和替换 , 以将修改后的数据发送到标准输出 ; 即 , 其实际上并不修改现有文件。与 grep 一样 , sed 通常在管道中
    9 cat passwd
   10 cat passwd -b > westos ##将passwd中的内容输入到westos中 并且显示行数
   11 cat westos
   12  sed ‘s/nologin/westos/g‘ westos ##替换输出中的nologin为westos
   16 sed -e ‘s/nologin/westos/g‘ -e ‘s/sbin/lee/g‘ westos
        ##多条替换策略用-e连接
   18 sed ‘1,3s/nologin/westos/g‘ westos
       ##替换输出中1-3行的nologin为westos
   20 sed 3,7d westos  ##不显示文件中的3-7行
   21 sed 3,7p westos  ##重复显示文件中的3-7行
   22 sed -n 3,7p westos ##只显示文件中的3-7行
   23 sed 3d westos   ##不显示文件中的第三行

将修改后的数据发送到标准输出 ; 其实际上并不修改现有文件。
   27 sed -e ‘s/nologin/westos/g‘ -e ‘s/sbin/lee/g‘ westos
       ##多条替换策略用-e连接
   28 cat westos

-i将输出导入westos, 修改现有文件
   30 sed -e ‘s/nologin/westos/g‘ -e ‘s/sbin/lee/g‘ -i westos
      ##多条替换策略用-e连接
   31 cat westos

sed -ne 3p -ne 7p westos ##只显示文件中的3,7行

sed ‘/games/,/nobody/s/nologin/westos/g‘ passwd     ##替换输出中的games字符到nobody字符之间的nologin为westos
[[email protected] mnt]# cat rule                 ##规则文件内容
s/nologin/westos/g
s/sbin/lee/g
[[email protected] mnt]# sed -f rule  file            ##使用规则文件更改输出  
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/lee/westos
     3  daemon:x:2:2:daemon:/lee:/lee/westos
     4  adm:x:3:4:adm:/var/adm:/lee/westos

时间: 2024-11-25 14:48:38

ii第六单元 文本处理工具的相关文章

关于Linux,用户,组,权限,文本处理工具,正则表达式,vim文本编辑器

一. 用户 ??在Linux系统中,可以创建多个用户,每一个用户都有一个与其对应的ID号,就像每一个人都有一个×××号一样,这就是用户的UID,??在Linux中管理员 root的默认UID为0,普通用户为1-65535,而普通用户又分为系统用户和登录用户,系统用户是不可登录的,对守护进程获取资源进行权限分配使用,其默认UID是1-499(在centos7中是1-1000),普通用户的UID为500-65535(centos7中为1000-65535) ?1. 用户及其属性信息 ??/etc/p

第六章,文本处理工具和正则表达式

更多笔记点击查看 Linux学习从入门到打死也不放弃,完全笔记整理(持续更新) http://blog.51cto.com/13683480/2095439 笔记整理起始时间:2018年4月7日14:15:07 本章内容: 各种文本工具来查看.分析.统计文本 cat,tac,rev,more,less,head,tail,cut,paste,wc,uniq,sort,diff grep 正则表达式 扩展正则表达式 vim 支持标准输入的命令| cat tr mail bc more less h

二. 第六单元.shell脚本命令

###########################二. 第六单元.shell脚本命令############################# 1.diff diff        file file1            ##比较两个文件的不同        -c                        ##显示周围的行        -u                        ##按照一定格式统一输出生成补丁        -r                      

egrep及文本处理工具

egrep: 能够实现文本处理的三剑客: 文本过滤工具:grep (其实grep家族中有三个工具,也就是实现文本过滤的工具有三个,grep,                                       egrep,fgrep) 文本编辑工具:sed 文本报告生成器(格式化文本):awk 其实文本过滤工具除了grep之外还有egrep,fgrep grep:基本正则表达式: -E:选项表示支持扩展正则表达式: -F:选项表示支持fgrep正则表达式: egrep:扩展正则表达式:

第五和第六单元练习题

<<<五-六单元练习>>> 1.新建用户组,shengchan,caiwu,jishu 2.新建用户要求如下: * tom 是shengchan组的附加用户 * harry 是caiwu组的附加用户 * leo 是jishu组的附加用户 * 新建admin用户,此用户不属于以上提到的三个部门 3.新建目录要求如下: * /pub目录为公共存储目录对所有用户可以读,写,执行,但用户只能删除属于自己的文件 * /sc 目录为生产部存储目录只能对生产部人员可以写入, 并且生产

第五六单元练习题

<<<五-六单元练习>>> 1.新建用户组,shengchan,caiwu,jishu 2.新建用户要求如下: * tom 是shengchan组的附加用户 * harry 是caiwu组的附加用户 * leo 是jishu组的附加用户 * 新建admin用户,此用户不属于以上提到的三个部门 3.新建目录要求如下: * /pub目录为公共存储目录对所有用户可以读,写,执行,但用户只能删除属于自己的文件 * /sc 目录为生产部存储目录只能对生产部人员可以写入, 并且生产

五-六单元练习题

<<<五-六单元练习>>> 1.新建用户组,shengchan,caiwu,jishu 2.新建用户要求如下: * tom 是shengchan组的附加用户 * harry 是caiwu组的附加用户 * leo 是jishu组的附加用户 * 新建admin用户,此用户不属于以上提到的三个部门 3.新建目录要求如下: * /pub目录为公共存储目录对所有用户可以读,写,执行,但用户只能删除属于自己的文件 * /sc 目录为生产部存储目录只能对生产部人员可以写入, 并且生产

Linux命令学习:grep文本搜索工具

Mark: 本系列博文只是记录作者在Linux学习过程中的点点滴滴,新手可能参考,高手们就略过吧!!! Linux学习总结:grep文本搜索工具 功能:根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,并把匹配的行打印出来,它的全称为"Global Regular Expression Print",全局正则表达式,它默认是开放给所有用户. 语法格式:Grep [option] pattern file Option:命令选项,具体包含: -v: --revert-match

第五六单元 &nbsp; &nbsp; &nbsp; &nbsp; 用户,用户组,文件权限 &nbsp;

五六单元 1.新建用户组,shengchan,caiwu,jishu [[email protected] Desktop]# groupadd shengchan       ###建立组shengchan [[email protected] Desktop]# groupadd caiwu          ####建立组caiwu [[email protected] Desktop]# groupadd jishu          #####建立组jishu 2.新建用户要求如下: