首页IT科技linux sed命令 替换(linux sed命令互换包含指定关键字的行)

linux sed命令 替换(linux sed命令互换包含指定关键字的行)

时间2025-05-04 17:51:41分类IT科技浏览6067
导读:a.txt内容如下:...

a.txt内容如下:

交换包含baidu和包含google的行               ,得到:

111 222 google 333 444 baidu 555 666

代码1:

sed /baidu/{:a;N;/google/!ba;s/\([^\n]*\)\n\(.*\)\n\(.*\)/\3\n\2\n\1/} a.txt

代码1的执行过程:

代码2:

sed /baidu/{:a;N;/google/{s/\(^[^\n]*\)\(.*\)\(\n\)\([^\n]*$\)/\4\2\3\1/;t};ba} a.txt

代码2的执行过程:

代码1和代码2的特点:

1               、不需要事先知道baidu和google分别在第几行               。

2                    、不管baidu和google是否相邻                    ,都可以正常处理                    。

3        、如果先出现google后出现baidu        ,命令需要相应的做调整        。
声明:本站所有文章            ,如无特殊说明或标注                    ,均为本站原创发布            。任何个人或组织            ,在未征得本站同意时        ,禁止复制            、盗用                    、采集            、发布本站内容到任何网站        、书籍等各类媒体平台                    。如若本站内容侵犯了原著者的合法权益                    ,可联系我们进行处理            。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
帝国cms演示(帝国cms如何设置显示时间的格式) 帝国cms目录结构是什么(帝国cms模板文件存在哪个文件目录里)