Shell编程---grep和awk&正则表达式

Arcgis填补栅格空缺值Nodata 阅读详情

grep、awk、sed命令是shell编程的三个重要命令,学习了grep、awk后感觉暂时够用了,于是sed也就没看了。下面先对前面这两个命令总结一下。

一、grep命令

我理解的
用途:匹配查找文件/字符串的内容
输出形式:行
使用格式: grep [选项] 字符串/正则表达式 [文件]
管道符格式: |grep [选项] 字符串/正则表达式
(其实就是通过管道符作为输入取代后面的 [文件] 选项)

【选项】:
-n 显示航航
-v 去掉不匹配文本
-i 忽略大小写
-c 输出匹配行数
-h 查询多文件时不显示文件名
-l 只输出文件名(多文件)

二、awk命令

我理解的
用途:匹配查找域内容
输出形式:域
使用格式:awk [-F 分隔符] ‘commands’ file
(分隔符可不指定,默认空格;管道符格式同grep)

‘commands’格式:
‘BEGIN {…} {…} END {…}’
‘BEGIN {…} {…}’
‘BEGIN {…}’
‘{…} END {…}’
‘{…}’
BEGIN、END部分打印头部消息和尾部消息。

三、实例

部分结合正则表达式。

grep "bing" 1.txt  #打印1.txt中bing字符串那行
grep '[Dd]ave' 1.txt #查找Dave或dave
echo $list |grep '^jack$'#精确匹配jack行首行尾
ip=`echo $1 |grep '192\.168\.[0-9]\{1,3\}\.[0-9]\{1,3\}'`  #ip地址检查,补充\{n\}, \{n,\}
grep '^.$' 1.txt #匹配单字符行
grep '^..w' 1.txt #匹配第三个字符为w的行
grep '\babc\b' 1.txt #\b为单词边界,\B为非边界

awk '$2=="44" {print $0}' 1.txt #精确匹配,补充!=,<,<=,>,>=
awk '$0 ~ /jack/' 1.txt #~为匹配正则表达式,!~为不匹配
awk '/[Gg]reen/' 1.txt #匹配正则表达式G/green
awk '$1 ~ /^...a/' 1.txt #第四个字符为a
awk '$0 ~ /(green|yellow)/ {print $1}' 1.txt
awk '{if($2~/22/) print $0}'
【OS】AUTOSAR架构下MCAL Modules软件分区问题分析 AUTOSAR架构下MCAL Modules软件分区问题分析 阅读详情

相关推荐

图像特征(一)——颜色特征(颜色直方图,颜色矩,颜色集,颜色聚合向量和颜色相关图)

本文主要是为了更好地理解图像特征,理解各方法的原理。转载请注明出处https://mp.youkuaiyun.com/console/editor/html/105090183 图像模式识别的一般步骤为:输入图像--图像预处理--特征提取--特征选择--图像分类--输出结果。 图像特征主要有:颜色特征、形状特征、纹理特征和空间关系特征。 本文主要介绍颜色特征,并给出matlab上实现的demo。 颜...

gloria_iris的博客 3万+

【shell】正则表达式和文本三剑客之grep和awk

REGEXP: Regular Expressions,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符。在 Linux/UNIX 系统中,awk 是一个功能强大的编辑工具,逐行读取输入文本,默认以空格或tab键作为分隔符作为分隔,并按模式或者条件执行编辑命令。\v:垂直制表符,在文本编辑中,它表示一个垂直制表位,通常用于对齐文本。

liu_xueyin的博客 544

Crazyflie 2.1固件刷写与地址配置全攻略:从开箱到连接Crazyswarm

本文详细介绍了Crazyflie 2.1微型无人机的固件刷写、地址配置及与Crazyswarm系统的集成方法。从开箱检查到多机协同飞行,涵盖了硬件准备、固件刷写、无线电地址修改等关键步骤,帮助用户快速实现集群飞行控制。特别针对Crazyswarm系统集成提供了实用配置示例和调试技巧。

weixin_42530458的博客 405

awk,sed,grep运用正则与扩展正则

grep 过滤工具 ---格式:grep 【选项】 “正则表达式“ 文件 egrep 过滤工具 ---格式:egrep 【选项】 “扩展正则表达式“ 文件 head -5 /etc/passwd > user //准备素材 grep ^root user //找以root开头的行 grep bash$ user //找以bash结尾的行 grep ^$ user //找空行 grep -v ^$ user //显示除了空行的内容 grep "[ro...

kali_yao的博客 2839

两轮差速机器人运动学模型

两轮差速底盘 1.1、底盘说明 两轮差速底盘由两个动力轮位于底盘左右两侧,两轮独立控制速度,通过给定不同速度实现底盘转向控制。一般会配有一到两个辅助支撑的万向轮。 主要底盘有: 1、Turtlebot; 2、扫地机器人; 3、无人仓AGV小车; 4、轮椅; 底盘主要特点: 1、控制简单、里程计计算简单。 2、只能给定X方向速度、Z轴方向角速度。 1.2、底盘运动学分析 1.2.1、底盘模型 图1.2.1 常见的两轮差速底盘模型 1.2.2、机器人本身约束方程(物理特性) 图1.2.2 a 左侧是车的两个

su_fei_ma_su的博客 3万+

Zuken E3.series schematic/cable/Formboard 连载(1)

​ 1987-2001年,CIM-Team公司(德国)推出基于MS-DOS环境下运行的CAD软件DDS-schematic 2002年,在此基础上,推出基于windows环境下运行,应用于电气工程领域的E3.Series 2002-2006年,CIM-Team公司成为Zuken公司(日本)的一家分公司,实现电子电气系统的完整设计平台 覆盖电子、电气原理设计,三维机柜设备布局与配线设计,线缆线束设计及其各类生产报表文档生成的完整设计流程

u010930036的博客 2504

linux三剑客及正则表达(grep,sed,awk)

首先我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文件呢?这就要用到我们上面的三剑客命令。 在说这三个命令前我们要插入一个小插曲就是“正则表达式”。 目录 正则表达与三剑客的说明 grep sed awk awk,for,if循环实现高级搜索 正则表达与三剑客的说明 所谓的正则表达式我个人理解就是正规的表示方法。他是用简单的方法来实现强大的功能,所以深受计算机爱好者的使用。 三剑客与正则表达式是什么关系呢? 我们...

kali_yao的博客 585

【scp】Windows 下scp报错 bad permissions

Windows 下使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决 C:\Users\Administrator>scp -P 66666 D:\1111.pdf zzd@58.213.45.xx:/home/zzd/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING:...

走在搬砖的路上! 4154

Shell脚本三剑客之grep、sed、awk

grep过滤 grep 命令用于查找文件里符合条件的字符串 grep [选项]... 查找条件 目标文件 ##参数如下: -E : 将样式为延伸的正则表达式来使用。 -c : 计算符合样式的列数。 -i : 忽略字符大小写的差别。 -n : 在显示符合样式的那一行之前,标示出该行的列数编号。 -o : 只显示匹配到的部分。 -v : 显示不包含匹配文本的所有行。 显示行数-c 不区分大小写-i 取反-v(选择不是root的) 取反将不是空行的内容输入指定文件 查找并显

weixin_51099370的博客 1366

【主力资金密码】副图指标升级版使用技术图文案例分解,通达信软件炒股指标公式代码

(1)主力资金线在低位时,对应的副图指标显示柱线是绿色,这个阶段主力资金参与小,行情处于下跌趋势或弱势震荡。当然,如果结合主图指标【翻倍密码系统】操作,主图的两个买卖点以及K线均线变色跟踪功能,更多的技术支撑,多空更加清晰,共振做多或多头更加确定和安全。如上图标记,中档虚线是参考安全操作的一个区间划分,粉色阶段做多或持股为主,为操作增加一道安全保护。如上图,副图指标【主力资金密码】更新叠加操作区间背景,绿色阶段持币或做空,粉色阶段做多或持股。如上图,副图指标,标记的两个区间,绿色区间时做空或持币。

weixin_69760830的博客 2555

SAP 人力资源工资配置项3---工资项配置

工资项设置

xiouluoyang的专栏 1万+

利用 Linux grep 和 awk 完成日志过滤

利用 Linux grep 和 awk 完成日志过滤

Tyler_Zx的博客 5677

RK3568平台(camera篇)点亮imx586摄像头

mipi摄像头硬件确认点:1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接3.3V。2,时钟:MCLKOUT是24兆时钟。3.4组差分mipi线。mipi的data线的波形为方波。

weixin_49303682的博客 7258

shell之AWK

转载

qq_35782149的博客 306

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

正则表达式 及 三剑客(grep、awk、sed)

一、正则表达式 是一种字符串处理的表示方式,分基础正则表达式和扩展正则表达式。 常用于邮件服务器 A、基础正则表达式 子字符类 其它信息 SIMILAR TO [:alpha:] 匹配当前归类中的大写和小写字母字符。例如,'[0-9]{3}[[:alpha:]]{2}'匹配三个数字,后跟两个字母。 Y [:alnum:] 匹配当前归类中的数字、大写和小写字母字符。例如,'[[:alnum:]]+'匹配含有一个或多个字母和数字的字符串。..

Gamble6 353

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Linux---文本处理(正则表达式,grep,awk,sed)

文本处理(一) 本文主要讲述正则表达式,grep,awk,sed命令。 3个命令都是针对行进行处理的。 grep: 主要用来进行字符串在文件中的搜索。        示例: grep -l "hello"  test_file awk : 主要用来进行格式化的文件中的域分割及处理。        示例:awk -F : ' { print $1,$6} ' /etc/p

厚Coming的专栏 7526

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

彻底理解 Linux 的搜索工具: grep 和 awk

grep 官方手册 awk 官方手册, awk 学习资料 1. grep grep 用于打印匹配指定模式的行。 1.1 介绍 grep 命令从输入文件中查找匹配到给定模式列表的行。发现匹配到的行后,默认情况下会复制这一行到标准输出流,也可以通过选项产生任何其他类型的输出。 grep 匹配文本时,对输入行长度没有限制(但受内存限制),并且可以匹配一行中的任意字符。如果输入文件的最...

kikajack的博客 7582

awk之if语句的使用

awk  -F","  '{ if($4=="江苏"){print $1} else {print  $0} } '  test.txt

maixia24的专栏 5万+

awk(三)If语句

条件判断语句:if(表达式){语句1}elseif(表达式){语句2}else{语句3}格式中"语句"可以多个语句,最好将多个语句用{}括起来。例: awk -F: '{if($1~/mail/){print$1}}' /etc/passwd#如果第一个字段为mail,输出第一个字段 awk -F: '{if($1~/mail/)print$1}' /etc/passwd#...

weixin_33895475的博客 3972

printf输出格式

%a                浮点数、十六进制数字和p-记数法(C99)<br /> %A    浮点数、十六进制数字和p-记法(C99)<br /> %c    一个字符 <br /> %d    有符号十进制整数 <br /> %e    浮点数、e-记数法<br /> %E    浮点数、E-记数法<br /> %f    浮点数、十进制记数法  <br /> %g    根据数值不同自动选择%f或%e.<br /> %G    根据数值不同自动选择%f或%e.<br /> %

NetMatrix的专栏 873

文本三剑客grep,awk,sed及正则表达式详解

一、正则表达式 1、正则表达式和通配符的区别(正则表达式用来在文件中匹配符合条件的字符串,通配符用来匹配符合条件的文件名)吗?其实这种区别只在Shell当中适用,因为用来在文件当中搜索字符串的命令,如grep、awk、sed等命令可以支持正则表达式,而在系统当中搜索文件的命令,如ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。 2 基础正则表达式 ...

so beautiful 886

awk与shell效率比较

需求:对比2个文件,找出仅存在文件A中的行 方法1: cat fileA | while read line do get=cat fileB|grep $line if [[ x”get”==x]];thenechoget” == x ]];then echo line >> diff.log fi done 方法2: awk ‘

taotao193051的专栏 3534

awk 匹配_AWK命令打开的正确方式

在最开始实习的时候,小编跟了一位shell大神一起做项目,当时对于他能够随手使用shell脚本,完成很多日常工作非常羡慕,于是对于shell的使用萌发了学习的念头。在 linux 系统日常处理工作中,经常会遇到对文本进行处理的业务场景:比如对从数据库中查询的数据进行信息抽取和处理,又或者对于不同接口传递来的消息进行处理。在此过程中,awk作为最常用的文本处理工具之一,在实际的开发中发挥着非常重要的...

weixin_39945915的博客 222

shell脚本---grep、awk、sed工具

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep是一种查找过滤工具,正则表达式在grep中用来查找符合模式的字符串。 规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示 一个模式,这就是正则表达式(Regular Expression)。 格式 grep [options] 主要参数 [o

wanglelelihuanhuan的专栏 6340

Linux 中的正则表达式应用工具(grep,sed,awk)

Linux 中的正则表达式应用工具(grep,sed,awk) 什么是正则表达式 任何一个有经验的系统管理员,都会告诉你:“正则表达式真是挺重要的!”为什么很重要呢?因为日常生活就使用的到啊!举个例子来说,在你日常使用 vim 作文书处理或程序撰写时使用到的“搜寻/取代”等等的功能,这些举动要作的漂亮,就得要配合正则表达式来处理。 简单的说,正则表达式就是处理字串的...

Buster_ZR的博客 2214

awk/grep正则匹配-找出以逗号分隔的数字列表

echo 15071700684902925088,15071700540402510152,15071700291812115134| awk '{match($0,"([0-9]+[,]+)*([0-9]+)",a)}END{print a[0]}' $0表示前面的字符串内容,([0-9]+[,]+)*([0-9]+)是整个正则表达式,表示匹配项存在0个或者多个数据和逗号组合项,考虑到单个匹

joseph_chan的专栏 8947
上一篇: Shell编程---分支和循环结构
下一篇: 我的编程易错点总结
vsbasic
博客等级 码龄16年 3粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值