文本三剑客 grep sed awk

模式,选项。常用用法。

grep
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行

模式:由正则表达式字符及文本字符所编写的过滤条件
vgrep [OPTIONS] PATTERN [FILE…]
grep root /etc/passwd
grep “$USER” /etc/passwd
grep ‘$USER’ /etc/passwd
grep `whoami` /etc/passwd

命令选项:

–color=auto: 对匹配到的文本着色显示
-v: 显示不被pattern匹配到的行
-i: 忽略字符大小写
-n:显示匹配的行号
-c: 统计匹配的行数
-o: 仅显示匹配到的字符串
-q: 静默模式,不输出任何信息
-A #: after, 后#行
-B #: before, 前#行
-C #:context, 前后各#行
-e:实现多个选项间的逻辑or关系 grep –e   ‘cat ’    -e     ‘dog’     file
-w:匹配整个单词
-E:使用ERE
-F:相当于fgrep,不支持正则表达式

命令常见用法:

1:在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行

2017-12-03_210100

2:输出除之外的所有行 -v 选项:

2017-12-03_220809

3:只输出文件中匹配到的部分 -o 选项:

3

4:输出包含匹配字符串的行数 -n 选项:
4

5:grep递归搜索文件在多级目录中对文本进行递归搜索:
5

6:选项 -e 制动多个匹配样式:
6
7:在grep搜索结果中包括或者排除指定文件:
7

8:grep静默输出:
8

 

  sed
Stream EDitor, 行编辑器
sed是一种流编辑器,它一次处理一行内容。处理时,把当前 处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed命令处理缓冲区中的内容,处理完成后 ,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环 。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空 模式空间,但不会清空保留空间。这样不断重复,直到文件末 尾。文件内容并没有改变,除非你使用重定向存储输出。
功能:主要用来自动编辑一个或多个文件,简化对文件的反复 操作,编写转换程序等
用法:
sed [option]… ‘script’ inputfile…
常用选项:
-n :不输出模式空间内容到屏幕,即不自动打印
-e: 多点编辑
-f :/PATH/SCRIPT_FILE : 从指定文件中读取编辑脚本
-r: 支持使用扩展正则表达式
-i.bak: 备份文件并原处编辑
script:

‘地址命令’ :
1    不给地址:对全文进行处理
2   单地址:
a:  #: 指定的行,$ :最后一行
b:   /pattern/ :被此处模式所能够匹配到的每一行
地址范围:
1      #,#
2    #,+#
3    /pat1/,/pat2/
#,/pat1/
~ :步进
1:    1~2 奇数行
2:    2~2 偶数行

编辑命令:
d: 删除模式空间匹配的行,并立即启用下一轮循环
p :打印当前模式空间内容,追加到默认输出之后
a [\]text :在指定行后面追加文本,支持使用\n实现多行追加
i [\]text :在行前面插入文本
c [\]text :替换行为单行或多行文本
w /path/somefile: 保存模式匹配的行至指定文件
r /path/somefile :读取指定文件的文本至模式空间中,匹配到的行后
=: 为模式空间中的行打印行号
!:模式空间中匹配行取反处理

s/// :查找替换,支持使用其它分隔符,s@@@ ,s###
v替换标记:
g: 行内全局替换
p: 显示替换成功的行
w /PATH/TO/SOMEFILE :将替换成功的行保存至文件中

高级编辑命令
P :打印模式空间开端至\n内容 ,并追加到默认输出之前
h: 把模式空间中的内容覆盖至保持空间中
H :把模式空间中的内容追加至保持空间中
g: 从保持空间取出数据覆盖至模式空间
G :从保持空间取出内容追加至模式空间
x: 把模式空间中的内容与保持空间中的内容进行互换
n: 读取匹配到的行的下一行覆盖至模式空间
N :读取匹配到的行的下一行追加至模式空间
d: 删除模式空间中的行
D :如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本 ,并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会像发出
d命令那样启动正常的新循环

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89467

(4)
晨曦晨曦
上一篇 2017-12-03
下一篇 2017-12-03

相关推荐

  • systemd管理

    centos7:systemdSystemd :系统启动和服务器守护进程管理器,负责在系统启动或运行时,          激活系统资源,服务器进程和其它进程Systemd 新特性:        系统引导时实现服务并行启动      &n…

    Linux干货 2017-04-10
  • SSH协议详解

    OpenSSH 一、 前言 使用SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。而OpenSSH是SSH协议的免费开源实现,它采用安全、加密的网络连接工具代替了telnet、ftp等古老明文传输工具。 SSH(Secure Shell)是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性…

    Linux干货 2016-12-16
  • 14程序包的编译安装

    在有些源代码程序没有被编译成rpm的时候,或者其他人写了一个源代码程序,要把它安装在服务器上要怎么做呢? 那就需要对源代码进行编译安装了。 C代码编译安装三步骤: 1、./configure: (1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile (2) 检查依赖到的外部环境,如依赖的软件…

    Linux干货 2016-11-27
  • LNMP 增加memcached缓存系统 构建LNMMP

    摘抄百度百科 memcache 的解读 memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著[1]  。这是一套开放源代码软件,以BSD license授权发布。 MemCa…

    Linux干货 2016-09-19
  • Linux任务计划,周期性任务执行详解

    Linux任务计划,周期性任务执行 概述 本章将为大家介绍一些任务计划和周期性任务计划执行相关内容任务计划的分类主要有由两种    未来的某时间点执行一次某任务:at,batch    周期性运行某任务:crontab具体分为三个方面来说明:    1、at计划任务    2、c…

    Linux干货 2016-09-27
  • bash的重定向

    一、简介         bash的数据流重定向(redirect)是将程序的执结果重新定向到另一文件或者设备。或者把一文件重定向给一程序作为数据来源。默认情况下,命令的执行结果显示在屏幕上。文件系统中,分为:标准输入,标准输出,错误输出。 二、用法   &n…

    Linux干货 2015-08-11