文本工具的使用方法

基本正则表达式:

  • ^参数 以参数开头的行(一行的开始)
  • $参数 以参数结尾的行(一直的结束)
  • \<参数 以参数开头的单词 ,需要带引号,例:‘\<参数’
  • 参数\> 以参数结尾的单词,需要带引号,例:‘参数>\'
  • \<参数\> 代表参数自身 例: '\<root\>' 过滤出来的是root
  • .      代表任意一个字符,对任何单个字符进行匹配,例:grep 'ro.' /etc/passwd 匹配的结果是以ro开头的任意一个单词
  • [abc]  代表一个字符,这个字符可以是a可以是b也可以是c   
  • [^abc] 除了abc以外的都匹配
  • [a-z]  连续的字符串,从a到z
  • \      转义符  抑制后面一个字符特殊有的含义,把多余的意思转变为本身的意思
  • *      对*前的字符进行0或者多次重复匹配
  • .* 任意一个字符出现0到多次 例:root.* 匹配到的结果可以是root、rootsaddsa、rootass等

扩展正则表达式:

  • + :对前一项进行一次或者多次的重复匹配
  • ?:对前面的字符匹配0到1次
  • {m}:对前面的字符匹配m次
  • {m,}:对前面的字符匹配m到无数次
  • { ,n}:对前面的字符匹配0到n次
  • {m,n}:对前面的字符匹配m到n次
  • 'root|user'  过滤root或者user的文本内容
  • \n         换行符 通常使用换行符来统计词频

文本工具:

  • 1:grep系列:(以行为单位开始过滤)

 

  • grep -w 参数  精确查找
  • grep -n 参数  能够显示匹配的选项所在的行数
  • grep -i 参数  忽略大小写
  • grep -q 参数  静默输出
  • grep -v 参数  能够显示除了选择参数以外的其他参数
  • grep -r 参数  根据字符串查找
  • grep -Ax 参数 能够显示参数以下x行
  • grep -Bx 参数 能够显示参数以上x行
  • grep -Cx 参数 能够显示参数上下x行
  • grep -c 参数 能够显示一共有多少行匹配参数
  • grep -o 参数 只显示参数
  • grep -l 参数 只显示参数所在的文件名(一般与-r连用)
  • grep --color=auto 显示匹配项高亮

  • 2:cat系列:(一般用于打印文件的内容)

  • cat -n 参数 显示打印的行数
  • cat 参数 参数 可以接两个参数,显示两个文件的内容

  • 3:more系列:(翻页工具,翻页完了之后直接进入命令行)

  • more 参数 显示文件内容

  • 操作方法:
    • 空格键;向下翻页
    • 回车:下一行

 

  • 4:less系列:(更加强大的翻页工具,有更多的功能)

  • 按q退出less
  • /关键词 能够查找关键词,严格遵守大小写
  • g/G 查看第一页或者最后一页(g是第一页、G是最后一页)
  • v 进入vi编辑模式 相当于切换到vi

  • 注意:
    • less可以对文件的内容进行修改 不能对打印到终端上的内容进行修改
    •  less /etc/passwd  可以对文件进行修改
    • cat /etc/passwd | less 不能对文件进行修改

 

  • 5:head系列:(可以自定义修改显示的行数)

  • head -n +x 从头开始看,显示x行
  • head -n -x 除了末尾的x行其他的全部都看

 

  • 6:tail系列:(可以自定义修改显示的行数,但是作用用于head相反)

  • tail -n +x 从x行开始看,一直到末尾
  • tail -n x  从末尾开始看,显示x行

  • 7:cut系列:(以列为单位进行过滤)

  • cut -dx 以x为分隔符
  • cut -fx 第x列
  • cut -cx-y 只显示第x到第y个字符

  • 8:wc系列:(文本统计工具)

  • wc -w  统计单词的数目
  • wc -l  统计一共有几行
  • wc -m  统计一共有几个字符
  • wc -c  统计一共有几个字节

  • 9:sort系列(文本排序工具,以行为单位开始排序)默认askli码排序

  • sort -r askli码倒序
  • sort -n 把数字排序
  • sort -tx 以x为分隔符
  • sort -kx 第x列
  • sort -f 忽略大小写
  • sort -u 去除输出中重复的行数

  • 10:uniq系列(文本比较工具)一般用来去除相邻的重复行

  • uniq -c 能够统计重复行出现的次数

  • 11:diff(文本比较工具) 一般用来比较两个相似文件的区别

  • 12:tr系列(转换文本的工具)

  • tr 'x-y' 'z-w' 用x-y来替换z-w
  • tr -s ‘ ’ 能够去除空格

  • 13:sed系列(流编辑器)(处理文本内容)

 

  • 工作原理:
    • 不对源文件修改,把文件加载到内存中

sed 选项  '动作指令' 文件名    sed操作基本流程

  • 选项:    
    • -e 执行多个sed动作指令
    • -i 可以直接修改源文件
    • -i.bak 编辑源文件的同时,创造.bak的备份
    • -r 可以只用扩展正则
    • -n 禁止默认输出(默认输出是输出文件中所有内容)

  • 动作指令:                
    • p 打印,输出到当前终端
    • s 替换,替换指定的字符
    • d 删除,删除行
    • a 增加行,在当前行下面插入文件
    • i 增加行,在当前行上面插入文件
    • c 把选定的行改为新的指定文本
    • r 读取文件,即用于将一个独立文件的数据插入到当前数据流的指定位置
    • w 另存为

  • 注意:         
    • 动作指令要用单引号括起来
    • 搜索条件要使用/条件/括起来。
    • 用%来定义开头和结尾

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值