Shell中使用grep、sed正则提取和替换字符串
Linux中使用grep正则提取字符串
echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P 'regex' -o
xargs会将find结果作为grep的输入,防止find结果过多无法处理
-P参数表明要应用正则表达式
-o表示只输出匹配的字符串,这样我们就可以把正则匹配到的结果拿到了。
Linux、Mac OS中使用sed正则提取字符串
Mac OS上用正则的话要用e参数取代P参数,也可以用sed命令:
sed命令格式:
sed 's/oldValue/newValue/g'
提取字符串
echo here365test | sed 's/.*ere\([0-9]*\).*/\1/g'
输出:
365
s表示替换,\1表示用第一个括号里面的内容替换整个字符串,sed支持*,不支持?、+,不能用\d之类,正则支持有限。
替换字符串
echo here365test | sed "s/365/789/g" # 注意,必须是双引号,不然引用变量会有问题!没错,就是这么严苛奇葩! newid=996 echo here365test | sed "s/365/$newid/g"
输出:
here789test
here996test
到此这篇关于Shell中使用grep、sed正则提取和替换字符串的文章就介绍到这了,更多相关Shell grep、sed正则内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
shell 字符串操作(长度,查找,替换)详解
复制代码 代码如下: 工作中字符串操作举例 filename='/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg' #下面是使用shell字符串操作 buName1=${filename#*/jobs/} #去除'/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'前缀得到'CnClickstat/DFSLoader/loader.cfg' buName1=${buName1%%/*} #去除'Cn
-
shell脚本之正则表达式、grep、sed、awk
--正则-- 基础正则 ^word ##搜索以word开头的 vi/vim中 ^ 一行的开头 word$ ##搜索以word结尾的 vi/vim中 $ 一行的结尾 ^$ ##表示空行 . ##代表且只能代表任意一个字符 \ ##例:\. 只代表点本身,转义符号,让有特殊身份意义的字符,脱掉马甲,还原 \n ##换行符 \r ##匹配回车 \w ##匹配任意一个字符和数字 *
-
linux shell字符串内置的常用操作(获取长度、查找、替换)
之前我们也发过相关的文章.这里呢,推荐大家使用一些内置的函数. 在编写shell程序时,经常会涉及到字符串相关操作.有许多命令语句,如awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时间,因此速度会很的快.如果内置的操作符能够做到的,优先使用内置的. 1 读取字符串值 表达式 含义 ${var} 变量var本来的值 ${var-default} var没声明返回default,但不改变var的值 ${var:-def
-
linux shell 字符串操作(长度,查找,替换)详解
在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那
-
PowerShell替换字符串操作符replace简明教程
PowerShell对字符串的处理,具有非常强大的功能,强于任何一门脚本语言.我们今天来看看替换字符串操作. 如果我想把字符串"abcd"中的"a"替换为"x",代码如下: 命令: 复制代码 代码如下: PS >"abcd" -replace "a", "x" 输出: 复制代码 代码如下: xbcd 如果我想把字符串"abcd"中的"bc"替
-
PowerShell中使用replace操作符替换字符串实例
本文介绍PowerShell中的字符串替换操作符:replace.在replace中,可以使用正则表达式,这样就极大的提高了replace的功能. 复制代码 代码如下: PS> 'Unit1,Unit2,Unit3' -replace '[,\t]',';' Unit1;Unit2;Unit3 上面的这个示例,用途是从给定的字符串中,匹配逗号(,)或tab键(\t),将它们都替换成分号(;).这是一个非常常见的应用的,用于构造CSV文件时经常需要用到.CSV文件是以分号分隔每个单元的数据的. r
-
Shell正则表达式之grep、sed、awk实操笔记
最近一直在研究shell脚本这块,刚好闲下来整了下自己手头上比较好的资料中的一些范例,以下是我整理的鸟哥私房菜里面正则表达式里面比较基础的一些语法详解,适合新手查阅. 首先先复制一段范例: 复制代码 代码如下: # vi regular_express.txt ------------------------------- "Open Source" is a good mechanism to develop programs. apple is my favorite food.
-
Shell中使用grep、sed正则提取和替换字符串
Linux中使用grep正则提取字符串 echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P 'regex' -o xargs会将find结果作为grep的输入,防止find结果过多无法处理 -P参数表明要应用正则表达式 -o表示只输出匹配的字符串,这样我们就可以把正则匹配到的结果拿到了. Linux.Mac OS中使用sed正则提取字符串 Mac OS上用正则的话要用e参数取代P参数,也可以用se
-
Shell中正则表达式及sed和awk常见问题
目录 1 正则表达式中的+.?.*分别表示什么含义? 2 如何编写正则表达式匹配11位的手机号? 3 简述sed定址符的作用及表示方式. 4 如何使用sed提取文本中的偶数行? 5 如何使用sed删除文本中每行的第4个字符? 6 提取/etc/passwd文件的第6-10行,另存为pass5.txt文件. 7 简述awk工具的基本语法格式. 8 简述awk工具常用的内置变量.各自的作用. 9 awk处理文本时,读文件前.读取文件内容中.读文件后后这三个环节是如何表示的? 10 提取当前eth0网
-
详解 Shell中的grep命令
用'grep'搜索文本文件 如果您要在几个文本文件中查找一字符串,可以使用'grep'命令.'grep'在文本中搜索指定的字符串.举个例子:假设您正在'/usr/src/linux/Documentation'目录下搜索带字符串'magic'的文件: $ grep magic /usr/src/linux/Documentation/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the ma
-
mysql基于正则实现模糊替换字符串的方法分析
本文实例讲述了mysql基于正则实现模糊替换字符串的方法.分享给大家供大家参考,具体如下: 例如: abcd(efg)hijk 替换之后是abcdhijk 复制代码 代码如下: update tabaleA set name = replace(name, substring(name, locate('<contact>', name),locate('</contact>', name)-locate('<contact>'+10, name)),''); 执行之后
-
解析PHP正则提取或替换img标记属性
<?php/*PHP正则提取图片img标记中的任意属性*/$str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>'; //1.取整个图片代码preg_match('/<\s*img\s+[^>]
-
又一不错的应用-正则来查找替换字符串
以下这段代码截取自某一网页源码: onClick="MM_openBrWindow('../photo/nlife/sfc/pages/O'Connors_jpg.htm','RD','width=456,height=368')" onClick="MM_openBrWindow('../photo/nlife/sfc/pages/Trad'r Sam_jpg.htm','RD','width=456,height=368')" onClick="MM_
-
java基于正则提取字符串中的数字功能【如提取短信中的验证码】
本文实例讲述了java基于正则提取字符串中的数字功能.分享给大家供大家参考,具体如下: 使用Java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}"); Matcher matcher = pattern.matcher(smsBody); while (mat
-
Java正则提取中括号中的内容操作示例
本文实例讲述了Java正则提取中括号中的内容操作.分享给大家供大家参考,具体如下: 曾经在工作中遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了一下,发现用正则表达式可以提取中括号中的内容,具体实现如下: import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExtractMes
-
Shell命令中的特殊替换、模式匹配替换、字符串提取和替换的实现
目录 特殊替换 模式匹配替换 字符串提取和替换 形式 说明 ${var} 变量本来的值 ${var:-word} 如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 的值. ${var:=word} 如果变量 var 为空或已被删除(unset),那么返回 word,并将 var 的值设置为 word. ${var:?message} 如果变量 var 为空或已被删除(unset),那么将消息 message 送到标准错误输出,可以用来检测变量 var 是否可以
随机推荐
- JS实现的简单表单验证功能完整实例
- js使用正则实现ReplaceAll全部替换的方法
- Bootstrap源码解读网格系统(3)
- PHP微信开发用Cache 解决数据缓存
- php获得用户ip地址的比较不错的方法
- Android开发工程中集成mob短信验证码功能的方法
- php实现parent调用父类的构造方法与被覆写的方法
- js与applet相互调用的方法
- JQuery+Ajax实现数据查询、排序和分页功能
- 详解shell中>/dev/null 2>&1到底是什么
- jQuery中prev()方法用法实例
- jquery nth-child()选择器的简单应用
- 基于jquery实现的自动补全功能
- jQuery简单操作cookie的插件实例
- JavaScript File API文件上传预览
- 网络防火墙的设置技巧
- iis6手工创建网站后无法运行php脚本的解决方法
- 【Linux】linux常用基本命令总结(推荐)
- windows server 2012 dhcp服务器安装图解
- Struts 2 配置Action详解