导航:首页 > 操作系统 > linuxsed正则

linuxsed正则

发布时间:2025-03-20 19:29:46

linuxsed命令怎么通过正则删除多行

要通过Linux的sed命令删除多行,可以采用几种不同的方法。方法之一是使用`d`命令配合行号。例如,若需删除第5至第10行,命令如下:

`sed -i '5,10d' filename`

这里的`5,10`表示行号范围,`d`为删除命令,`filename`为文件名。

另一种方法是利用正则表达式删除匹配模式的多行。命令格式如下:

`sed -n '/pattern/p;N;D' filename`

这里的`/pattern`是正则表达式,`p`表示打印匹配行,`N`表示连接下一行,`D`用于删除连接后的行。举例,若要删除包含"hello"的行及其之后的两行:

`sed -n '/hello/p;N;D' filename`

使用sed命令打开文本文件并应用正则表达式匹配目标行。例如,以下命令会打开文件`test.txt`,并匹配以“start”开始、以“end”结尾的多行:

`sed -n '/start/,/end/p' test.txt`

② 关于linux 里sed的用法与正则表达式

题主你好,

这道题的关键点在于:

" [a]* 表示匹配0个或多个a "

" 多个a "好理解,但" 0个a "可能就是你不理解的地方,说白了" 0个a "匹配的是位置而并不是某个字符, " 0个a "故名思议嘛:

" 没有a的地方 "

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

下来咱看一下问题里所描述的:

echo aabbabbaab | sed 's/[a]*/x/g'

上面的代码共发生了6次匹配,我把每一次的匹配都记录下来了:

你可以这样去记: 像这种" [x]* "匹配0个或多个x字符的正则你可以理解为:

" 字符替换+位置替换 " 的合体, 即匹配上字符了就将相应的字符给替换了,没有匹配上字符的,就把相应的位置给替换了,而位置替换用位置插入去想更好理解一些

希望对题主有帮助,上面是我的理解,不一定完全正确,如果不对也请指正,如果有需要交流的,欢迎追问

阅读全文

与linuxsed正则相关的资料

热点内容
电脑d盘空文件夹 浏览:470
苹果蓝牙怎么发应用给安卓 浏览:455
江苏网络云服务器虚拟主机 浏览:170
wps幻灯片图片压缩 浏览:730
保证数据不被编译器优化 浏览:293
net转pdf 浏览:416
毕业当程序员大学学什么专业 浏览:710
农业银行app怎么买保险 浏览:291
锦州一块钱麻将算法 浏览:800
ecg单片机 浏览:424
荣耀手机怎么把app不见了 浏览:769
安卓车载模式如何关闭 浏览:656
路由器怎么才能桥接打印服务器 浏览:704
phpexcel中文乱码 浏览:835
bat批处理命令大全 浏览:601
php随机数组值 浏览:904
云服务器如何查看文件 浏览:532
服务器都可以干什么 浏览:794
计算字符串长度php 浏览:82
天府电脑编程培训 浏览:40