十二、sed 命令与正则表达式

awk 命令

截取文档中的某段

#awk -F ‘:‘ {print$1} 1.txt    打印第一段

#awk  -F ‘:‘ ‘OFS=‘#’ {print$1,$2,$3,$4} 1.txt 指定显示结果的分隔符为#  , 也可以使用自定义字符连接每个段 {print$1"#"$2}

匹配字符或字符串

#awk ‘/root/‘ 1.txt

针对某个段匹配

#awk -F ’:‘ $1 ~/oo/‘ 1.txt

多次匹配

#awk -F ‘:‘ /root/ {print $1,$3};$1~/test/;$3~/20/‘ 1.txt

改变某个段的值

#awk -F ‘:‘ ‘$1="root‘" 1.txt

数字计算,把第三段和第四段值相加,并赋予第七段

#awk -F‘{OFS=":"}  {$7=$3+$4;print$0}‘ 1.txt

计算第三段的总和

#awk -F ‘:‘ ‘{(tot=tot+$3)};END{print tot}‘ 1.txt

if关键词

#awk -F ‘:‘ ‘{if($1=="root")print$0}‘ 1.txt

内置变量NF段数,NR 行数’

打印20行以后的行

#awk ‘NR>20‘ 1.txt

打印20行以后并且第一段包含‘ssh’的行

#awk -F ‘:‘ ‘NR>20 && $1~ /ssh/‘ 1.txt

条件操作符<,>,==,!=,>=,<=

第三段为0

#awk -F ‘:‘ ’$3=="0"‘ 1.txt

第三段大于等于500

#awk -F ‘:‘ ’$3>=500‘ 1.txt

说明,等比较数字时,不能加双引号,如果写成$3>="500" 就不符合要求了

第7段不是‘/sbin/nologin‘

#awk -F ‘:‘ ‘$7!="/sbin/nologin"‘ 1.txt

第三段小于第四段

#awk -F ‘:‘ ‘$3<$4‘ 1.txt

第三段大于5,并且小于7

#awk -F ‘:‘ ‘$3>5 && $3<7‘ 1.txt

第三段大于5,或者第7段为 ‘/bin/bash‘

#awk -F ‘:‘ ‘$3>"5" || $7=="/bin/bash"‘ 1.txt

扩展
awk 中使用外部shell变量 http://www.aminglinux.com/bbs/thread-199-1-1.html
awk 合并一个文件 http://www.aminglinux.com/bbs/thread-493-1-1.html
把一个文件多行连接成一行 http://www.aminglinux.com/bbs/thread-266-1-1.html
awk中gsub函数的使用 http://www.aminglinux.com/bbs/thread-200-1-1.html
awk 截取指定多个域为一行 http://www.aminglinux.com/bbs/thread-224-1-1.html
过滤两个或多个关键词 http://www.aminglinux.com/bbs/thread-198-1-1.html
用awk生成以下结构文件 http://www.aminglinux.com/bbs/thread-5494-1-1.html
awk教程 http://www.cnblogs.com/emanlee/p/3327576.html

awk用print打印单引号 http://www.aminglinux.com/bbs/thread-1738-1-1.html

合并两个文件 http://www.aminglinux.com/bbs/thread-945-1-1.html

时间: 2024-10-12 17:19:59

十二、sed 命令与正则表达式的相关文章

文本处理工具之二 sed命令详解

======博主所学知识来着于恩师马哥的亲授====== 马哥教育"2014夏令营"开始啦!!!马哥教育是目前性价比最高的Linux培训,国内好评度排名第一,并被网友称为Linux界的"黄埔军校",全部课程采用Centos6.5x86_64讲解,经过几期网络班的总结和锤炼,逐渐完善的课程体系,学员学习进度监督和优质的考试系统检验学员掌握程度,活跃的在线答疑环节,名师陪伴,牛人指点,精彩不容错过. 详情猛戳:http://www.magedu.com/ 课程内容:ht

sed命令和正则表达式

sed命令和正则表达式 sed是一种在线的,非交互式的编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,成为模式空间,接着用sed命令处理缓冲区的内容.处理完,把缓冲区的内容送往屏幕.sed支持正则表达式与grep一样,sed在文件中查找模式时也可以使用正则表达式(RE)和各种元字符.正则表达式是括在斜杠间的模式,>用于查找和替换,以下是sed支持的元字符使用基本元字符集 ^ $ [] [^] \<\> () {} 使用扩展元字符 ?+ {} | () sed命令:

sed命令的正则表达式实践

1. 取系统ip [[email protected] logs]# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:4C:6F:AD inet addr:192.168.0.109 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:18603 errors:0 dropped

Linux学习笔记(十二)--命令学习(用户创建、删除等)

通过上面的几章学习,我们对linux有了一些了解,现在我们再继续进行下去.... 我们习惯的windows 界面系统中,只要在界面里去下鼠标,填写等这些就可以完成了一个用户创建.删除.添加所属组等,那我们在linux里又是怎么操作的呢??? 下面在学习如何使用命令进行一系列的操作时,我们要先了解一些别的: 在linux系统里除了我们要新建的用户外,还有一些特定的用户,我们称呼它为:伪用户. -----------------------------------------------------

(十二)命令模式详解(故事版) .

背景:小左是魔都某公司技术部的一名屌丝程序猿,每天的工作就是维护一个20世纪的古董级项目,由于公司不大,所以公司很多制度不太完善,导致小左每天都郁闷异常,只是靠偶尔的在刚毕业的小小美女程序媛旁边露一手,来丰富自己的精神生活. 某一天下午一点半,阴. 小左正趴在桌子上,迷迷糊糊想着某些个不切实际的美梦,突然QQ上"滴滴滴"的声音,将本就只是半梦半醒的小左给吵醒了.无奈之下,小左只好懒懒散散的抬起头,打开了QQ消息. 业务人员A:"小左啊,我们的XX列表需要加一个显示项和一个搜索

设计模式(二十二)---命令模式

1.简介 命令模式属于对象的行为模式.命令模式又称为行动(Action)模式或交易(Transaction)模式. 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能. 2.命令模式类图 3.命令模式涉及的角色 从上图可以看出,命令模式涉及以下几个角色 3.1.客户端(Client)角色:创建一个具体命令(ConcreteCommand)对象并确定其接收者. 3.2.命令(Command)角色:声明了

设计模式(二十二)命令模式(Command)-行为型

引文:后面几篇的设计模式,都比较不常用,就不详细分析了,只给出个原理图,以后用到了,再补加完整吧. 命令模式Command 银行排队取号,取得号就相当一个命令,先把这些命令放到一个list里面,然后依次读出来,不同的命令到不同的方法执行,然后到相应的窗口去服务. 原理 命令行模式实现原理图 命令模式就是把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,队请求队列或者记录请求日志,可以提供命令的撤销和恢复功能.命令模式一共由四部分组成:抽象的命令类.具体的命令类.调

正则表达式三剑客之二sed工具

三剑客之二sed工具 sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加.移动等),最后输出所有行或者仅输出处理的某些行.sed 也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于 Shell 脚本中,用以完成各种自动化处理任务. sed 的工作流程主要包括读取.执行和显示三个过程. ?读取:sed 从输入流(文件.管道.标准输入)中读取一行内容并存储到临时的缓 冲区中(又称模式空间,patter

shell脚本之正则表达式(二)---sed工具

sed工具 sed是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加.移动等),最后输出所有行或者仅输出处理的某些行.sed 也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于 Shell 脚本中,用以完成各种自动化处理任务. sed工作流程 1.读取:sed 从输入流(文件.管道.标准输入)中读取一行内容并存储到临时的缓冲区中.2.执行:默认情况下,所有的 sed 命令都在模式空间中顺序地执行,除非指定了行的地址,否则 sed 命