linux sed 正则表达式(linux中sed ’s/^\t/apple\t/’ 是什么意思呢该如何理解它)

2024-06-13 05:27:08 23

linux sed 正则表达式(linux中sed ’s/^\t/apple\t/’ 是什么意思呢该如何理解它)

本文目录

linux中sed ’s/^\t/apple\t/’ 是什么意思呢该如何理解它

您好很高兴回答您的问题:

  1. \t表示 tab键或tab字符 一般是8个空格长度的"大"空格

  2. \t含义

  3. ^是正则表达式表示 以....开头的部分  ^r 表示以r字母开头的行   
  4. ^含义

  5. sed的替换格式  s///  或 s### 表示替换

  6. s##替换

  7. 最后问题可以改为s### 形式,’s#^\t#apple\t#’  表示把开头的tab字符替换为apple+tab字符

  8. 最后效果图

  9. 最后一个问题:  可以改为 sed ’1 s#^#a1\ta2#’    1表示第1行, s###表替换,把开头的空字符,替换为a1tab键a2  

  10. 请点击输入图片描述


理解了,点个赞吧,不理解继续问.

关于Linux中正则表达式的小问题

echo abcd123 | sed ’s/\(*\).*/\U\1/’\(..\) 保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers上例中\1就是指前面的\(*\)\U 是转换成大写这样就明白了,\U\1指 *全部转成大写。invalid reference \1 on `s’ command’s RHS“s”命令的RHS非法引用\1,RHS应该是指右边,LHS指左边。没注意过这个单词。呵呵。

sed正则表达式意思是

题主你好,

写在前面: 题主的sed中一共是4个表达式, 我先分别讲每个表达式的作用,最后再讲它们放在一起的效果.

你这总共4个正则表达式,从左到右:

    第1个: /^#/d              作用是: 将以#号开头的行删掉

   

    第2个: /^*$/d        作用是: 将只含有空格和或tab的行删掉, 这里用的是"和或"说明如果行只包含空格会被删掉, 如果行只包含tab也会被删掉, 如果行是由空格和tab一起组成的也会被删掉

    第3个: s#^*##       作用是: 将开头的空格和或tab删掉,但该行后面的内容会保留

    第4个: s#*$##       作用是: 将结尾的空格和或tab删掉,但该行后面的内容会保留

---------------

先说一下: sed是读一行处理一行, 而-e的作用是指定多个作用在被处理行上的命令, 并且后面的命令作用对象是头一个-e命令的处理结果.

举例来说, 假设我有一个文件名叫number,里面只有一行内容为1234,则

sed -e ’s#1#3#’ -e ’s#3#5#’的处理情况为:

    先将第1个-e后面的命令,’s#1#3#’作用在内容1234上, 将1替换为3,得到的结果为: 3234.

    再将第2个-e后面的命令,’s#3#5#’作用在第1个-e命令处理后的结果3234上,将3替换为5,得到的结果为5254.

-----

最后引出题主的那个sed命令:  sed -e ’/^#/d’ -e ’/^*$##’

题主可以对照着上面我对这4个正则表达式的解释去理解我下面所说的:

   先读取文件流的第一行, 看这行:

        1.是否是以#开头的, 如果是则将这行直接删掉, 因为第1个正则就把行都删了,所以后面那三个命令也就不执行了,然后继续读取下一行, 然后从第1个正则开始处理.

       2.如果读入的行不是以#开头的,则第1个正则就没用了, 再看第2个正则, 如果读取的这一行只包含空格和或tab,则将这行删掉, 即然在第2个正则这读入的行就被删了, 后面的两个正则也就不执行了,然后继续读取下一行, 然后从第1个正则开始处理.

       3.如果读入的行不是以#开头的, 则第1个正则就没什么用了, 也不是只包含空格和或tab,则第2个正则也没用了, 如果行是有内容的,但是以空格和或tab开头,这时第3个正则就起作用了, 将开头所有的空格和或tab都删掉,只保留空格和或tab后面的内容, 第3个正则完事了, 再看第4个正则,第4个正则的作用对象是第3个正则处理后的结果,看看第3个正则处理的结果中末尾是否是以空格和或tab结尾的,如果是则将末尾的空格和或tab删掉,剩下的就是最后输出的内容, 说了这么多总结下来就是"掐头去尾".

        4.如果读入的行,即不是以#开头, 也不是只包含空格和或tab,有内容,但不是以空格和或tab开头,但是以空格或是tab结尾的, 此时会将末尾的空格和或tab都删掉,保留剩下的内容,总尾下来就是: "去尾"

-----------

上面说了这么多, 给个例子, 通过执行后的结果和原始数据对比,自己理解一下吧:

写在最后: 写的比较啰嗦,不知道你有没有耐心看完.

希望对你有帮助, 欢迎追问.

       

linux shell script 使用正则表达式替换查找文本

我也写个例子:#!/bin/shread -p "Pls input subnet: " $subnetread -p "Pls input netmask: " $netmasksed -i "s_subnet_subnet $subnet netmask $netmask{_" dhcpd.conf ----------------------------------------------------------------------------------------更新一下。read -p "Pls input subnet: " $subnetread -p "Pls input netmask: " $netmasksed -i “s/^\(.*subnet \).*\( netmask \).*\(.*\)$/\1$subnet\2$netmask\3/” dhcpd.conf sed中正则匹配时可以在不需要变化的文本两边插入带反斜杠的圆括号来定义区域,然后通过区域号\x(x从1开始)来引用这些由圆括号界定的区域。这样就可以实现只改变部分区域而另一部分保持不变。

Linux基本操作10-----正则表达式与文件格式化处理

一正则表达式1简单的说正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易的达到查找,删除,替换某特定字符串的处理程序2grep在数据中查找一个字符串时,是以整行为单位来进行数据的选取的,也就是说假如一个文件内有10行,那么其中两行是有用的,那么就将这两行显示出来,其它的丢弃3在bash当中,我们知道通配符*可以用来表示任意个字符,但是正则表达式中的*表示不同的含义在正则表达式中,’.’表示的是一定有一个任意字符的意思在正则表达式中,’*’表示的是重复前一个字符0到无穷多次的意思4基础的正则表达式RE字符意义^word查找行首为word的行word$查找结尾为word的行.代表一定有一个任意的字符*重复前一个字符0个到无穷多个从字符集合里面选择一个字符从要选择的范围里面选择一个字符从不是这个字符集合里面找出一个字符/{n,m/}连续n到m个的前一个字符,/{n/}则是连续n个前一个字符,/{n,/}则是联系n到无穷多个前一个字符二sed工具1sed本省是一个管道命令,可以分析标转输入,而且sed还可以将数据进行替换,删除,新增,选取特定行等功能2sed的用法sed-n使用安静模式,在一般模式中,所有来自stdin的数据一般都会被列出到屏幕上,但是如果加上-n这个参数的话,则只有经过sed特殊处理的那一行才会被列出-e直接在命令模式上进行sed的动作-f直接将sed的动作写在一个文件内,-ffilename则可以执行filename内的sed动作-rsed的动作支持的是扩展正则表达式的语法-i直接修改文件的内容,而不是由屏幕输出3动作说明n1,n2functionn1,n2不见得会存在,一般代表的是进行的动作的行数function有下面这些参数a:新增,a的后面可以接字符串,而这些字符串会在新的一行出现,目前的下一行c:替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行d:删除,因为是删除,所以d后面通常不接任何参数i:插入,i的后面可以接字符串,而这些字符串会在新的一行,目前的上一行p:打印,也就是将某个选择的数据打印出来s:替换,可以直接进行替换的工作三文件的格式化以及相关处理1格式化打印printf’打印内容‘实际内容关于C程序语言内,常见的变量格式%ns那个n是数字,s代表的是string%nd那个n是数字,d代表的是整数%N.nf那个n与N都是数字,f代表浮点数2文件比较工具diffdiff就是用在比较两个文件之间的区别,并且是行为单位来比较的,一般是用在ASCLL纯文本文件的比较上diff的用法difffrom_fileto_file-b忽略一行当中仅有多个空白的区别-B忽略空白行的区别-i忽略大小写的不同3如果我们要将旧的文件升级成为新的文件时,我们可以先利用diff比较出文件的区别,并将区别文件制作成为补丁文件,再由补丁文件更新旧文件即可。一般来说我们使用diff制作出来的比较文件通常扩展名为.patch更新:patch-pN《patch_file还原:patch-R-pN《patch_file

请问Linux中这段命令什么意思“ sed ’/^$/d’”

1、正则表达式里 ^代表行首,$代表行首2、例如在vi里,Shift+^光标到行首,Shift+$,光标到行尾3、sed -i ’/^$/d’ a.txt会将没内容的空行删除4、grep ’^ABC’ a.txt搜索ABC开头的行

linux sed 正则表达式(linux中sed ’s/^\t/apple\t/’ 是什么意思呢该如何理解它)

本文编辑:admin

本文相关文章:


linux sed 正则表达式(Linux基本操作10-----正则表达式与文件格式化处理)

linux sed 正则表达式(Linux基本操作10-----正则表达式与文件格式化处理)

本文目录Linux基本操作10-----正则表达式与文件格式化处理关于Linux中正则表达式的小问题sed正则表达式意思是请问Linux中这段命令什么意思“ sed ’/^$/d’”linux中sed ’s/^\t/apple\t/’ 是什

2024年4月22日 20:50

更多文章:


linux初学者入门书籍(学习linux,入门的话看哪本书比较好)

linux初学者入门书籍(学习linux,入门的话看哪本书比较好)

本文目录学习linux,入门的话看哪本书比较好学linux看什么书各位前辈,linux学习,买什么书学习linux,入门的话看哪本书比较好可以先看视频入门,然后再看说快速学习,可以看一下《跟老男孩学Linux运维Web集群实战》、《跟老男孩

2024年6月21日 05:40

switch case后面空白(在turbo2.0环境中,使用switch语句时,case后加数值时,例如case1,为什么之间要加空格啊,求救!拜托了!)

switch case后面空白(在turbo2.0环境中,使用switch语句时,case后加数值时,例如case1,为什么之间要加空格啊,求救!拜托了!)

各位老铁们好,相信很多人对switch case后面空白都不是特别的了解,因此呢,今天就来为大家分享下关于switch case后面空白以及在turbo2.0环境中,使用switch语句时,case后加数值时,例如case1,为什么之间要加

2024年7月9日 22:21

他因出演《小舍得》而一夜爆红,得知真实身份后,难怪演技这么好,他是谁?《小舍得》:仅仅一顿饭,南俪与田雨岚就表现出再婚家庭的尴尬,怎么看

他因出演《小舍得》而一夜爆红,得知真实身份后,难怪演技这么好,他是谁?《小舍得》:仅仅一顿饭,南俪与田雨岚就表现出再婚家庭的尴尬,怎么看

本文目录他因出演《小舍得》而一夜爆红,得知真实身份后,难怪演技这么好,他是谁《小舍得》:仅仅一顿饭,南俪与田雨岚就表现出再婚家庭的尴尬,怎么看宋佳饰演的《小舍得》为什么会陷入热议呢蒋欣的电视剧 这些作品你都看过吗他因出演《小舍得》而一夜爆红

2024年7月20日 21:31

excel表格制作10以内加减法(excel生成10以内减法,不能负数)

excel表格制作10以内加减法(excel生成10以内减法,不能负数)

本文目录excel生成10以内减法,不能负数excel表中怎么算加减法在Excel同一单元格内利用函数出10以内的加减法excel怎么加减法运算excel制作10以内加法和不大于10excel表格计算加减法的方法步骤如何用excel 生成1

2024年7月14日 03:18

invoke(java 中 invoke()的作用是什么)

invoke(java 中 invoke()的作用是什么)

本文目录java 中 invoke()的作用是什么java中invoke()的作用是什么Java反射invoke怎么用invoke的用法java invoke的用法. 获取一个对象的所有get方法再用invoke到另一个对象的set方法中,

2024年7月8日 23:21

write与write的区别(python 中写文件write和write()的区别是啥)

write与write的区别(python 中写文件write和write()的区别是啥)

本文目录python 中写文件write和write()的区别是啥在linux中write和writel的区别write和write down 有什么区别write和writer什么关系write是什么意思python 中写文件write和

2024年6月28日 18:15

同步发电机和异步发电机(同步电机和异步电机的优缺点,应用场合是什么)

同步发电机和异步发电机(同步电机和异步电机的优缺点,应用场合是什么)

“同步发电机和异步发电机”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看同步发电机和异步发电机(同步电机和异步电机的优缺点,应用场合是什么)!本文目录同步电机和异步电机的优缺点,应用场合是什么同步发电机和异步发电机,为什么前

2024年7月5日 02:06

法国vs意大利(意大利VS法国,谁赢了)

法国vs意大利(意大利VS法国,谁赢了)

本文目录意大利VS法国,谁赢了意大利和法国,历史对战的战绩如何热身赛法国队如何战胜意大利意大利和法国的历史交锋记录!1998年世界杯上法国VS意大利是点球决胜的吗06世界杯法国与意大利的决赛中最后的点球大战,法国队的谁罚丢了点球法国和意大利

2024年7月9日 23:20

游戏行业如何选择高防服务器?高防服务器如何防御DDoS流量攻击

游戏行业如何选择高防服务器?高防服务器如何防御DDoS流量攻击

本文目录游戏行业如何选择高防服务器高防服务器如何防御DDoS流量攻击RAK smart美国高防服务器好在哪呢如何判断高防服务器租用的质量高防服务器具有哪些优势游戏行业如何选择高防服务器游戏服务器其实和一般的服务器一样,但是因为行业的特殊性原

2024年5月6日 02:30

传智java培训机构(传智教育Java课程怎么样)

传智java培训机构(传智教育Java课程怎么样)

本文目录传智教育Java课程怎么样培训java,成都传智播客怎么样朋友推荐去传智播客java,他家java教的好不好跟千峰比怎么样java学习费用要多少优就业和传智怎么样传智到底比黑马的课程,师资差多少传智教育Java课程怎么样传智的黑马程

2024年7月23日 13:12

light是什么意思英语(英文光怎么说)

light是什么意思英语(英文光怎么说)

本文目录英文光怎么说light是什么中文意思light是什么意思灯的英文怎么说灯的英语是什么光的英文是什么英文光怎么说lightLight,英文单词,名词、形容词、副词、及物动词、不及物动词,作名词时意为“光,光亮;灯,人名;(英)莱特”,

2024年7月1日 06:00

企业网站的主要功能板块(一个企业网站需要有哪些功能)

企业网站的主要功能板块(一个企业网站需要有哪些功能)

本文目录一个企业网站需要有哪些功能企业网站应该具备哪些常见的功能企业网站需要具备的功能企业建设网站一般都需要哪些功能模块企业网站建设的主要功能有哪些网站的功能模块有哪些建设一个企业网站需要哪些功能模块网站建设一般需要哪些基本功能模块一个企业

2024年7月3日 18:58

小时代3电影(电影小时代3讲了什么)

小时代3电影(电影小时代3讲了什么)

本文目录电影小时代3讲了什么小时代3.0结局是什么意思小时代3剧情详细介绍小时代3电影版简介电影小时代3讲了什么原本离开了姐妹们,准备和男友席城离开上海的南湘重新回到姐妹们身边。顾里率领众人搬进了新的别墅,大家继续着同一屋檐下的生活。林萧、

2024年7月15日 04:13

排序算法可视化(计算机中冒泡排序是怎么回事)

排序算法可视化(计算机中冒泡排序是怎么回事)

“排序算法可视化”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看排序算法可视化(计算机中冒泡排序是怎么回事)!本文目录计算机中冒泡排序是怎么回事c++可视化 程序代码计算机中冒泡排序是怎么回事冒泡排序你可以把一个数组的元素看

2024年6月29日 19:54

少儿学python有用吗(孩子学编程的话,真的有作用吗)

少儿学python有用吗(孩子学编程的话,真的有作用吗)

本文目录孩子学编程的话,真的有作用吗少儿编程真的有用吗python小学生学习好吗大家知道这个少儿编程python真的适合孩子来学习吗学习方式是什么样的啊孩子学习编程有用吗青少儿编程中的python大家有听过吗实用吗python少儿编程考级有

2024年7月12日 08:42

源码战争攻略(战争雷霆c系攻略)

源码战争攻略(战争雷霆c系攻略)

本文目录战争雷霆c系攻略僵尸战争好玩吗战争雷霆c系攻略感谢您的邀请。鄙人将浅谈C系科技树的特点,以及个人的心得和部分建议。鄙人文笔很差,并且可能对科技树某些方面认识不全面,希望大佬指正,谢谢。首先,C系科技树作为战争雷霆国服特有的一个系列,

2024年7月7日 18:54

html js禁止页面点击(HTML 中什么命令可以禁止鼠标右键点击)

html js禁止页面点击(HTML 中什么命令可以禁止鼠标右键点击)

本文目录HTML 中什么命令可以禁止鼠标右键点击HTML代码里超链接不可点击的方法是什么js html5手机web开发---如何阻止点击元素产生的高亮效果..诸如标签,带有onclick的元素怎么让html的按钮只能点一次js怎么防止重复点

2024年7月24日 12:34

请问一下 http://cet.etang.com 这个网址是不是只能查最近一年的四级成绩,以前的成绩还可以查吗

请问一下 http://cet.etang.com 这个网址是不是只能查最近一年的四级成绩,以前的成绩还可以查吗

本文目录请问一下 http://cet.etang.com 这个网址是不是只能查最近一年的四级成绩,以前的成绩还可以查吗请问一下 http://cet.etang.com 这个网址是不是只能查最近一年的四级成绩,以前的成绩还可以查吗以前的成

2023年7月27日 01:00

塞尔达人马位置(人马在哪里)

塞尔达人马位置(人马在哪里)

本文目录人马在哪里塞尔达巨大马匹位置在哪塞尔达传说荒野之息23只人马在哪 全部人马位置塞尔达人马在哪塞尔达白银人马在哪里荒野之息22只人马位置在哪里莱尼尔位置在哪塞尔达黄金人马去哪找塞尔达传说:荒野之息 全人马位置一览(22只)人马在哪里卓

2024年7月23日 21:29

select left join(关于VF中SELECT LEFT JOIN的用法)

select left join(关于VF中SELECT LEFT JOIN的用法)

本文目录关于VF中SELECT LEFT JOIN的用法select* from表名left join from表名right有什么区别关于VF中select left(right) join的准确用法select*fromtable1,t

2024年7月12日 23:50

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索