Linux学习之sed多行模式

N将下一行加入到模式空间
D删除模式空间中的第一个字符到第一个换行符
P打印模式空间中的第一个字符到第一个换行符

doubleSpace.txt里边的内容如下:

bash 复制代码
goo
d
man

使用下边的命令可以实现把上边对应的内容放到doubleSpace.txt

bash 复制代码
echo 'goo' >> doubleSpace.txt
echo 'd' >> doubleSpace.txt
echo 'man' >> doubleSpace.txt

如果想要把good显示成一行的话,可以使用sed 'N;s/\n//' doubleSpace.txt,需要注意good之间有换行符\n,虽然N命令可以读取多行命令到模式空间里边,但是不能把换行符去掉。

其实也可以使用元字符中的.来匹配\n,比如sed 'N;s/goo.d/good/' doubleSpace.txt也可以把good显示成一行。

在命令行里边输入cat << EOF >> b.txt,然后依次输入下边的内容:

bash 复制代码
hell
o bash hel
lo bash
EOF

sed 'N;s/\n//g;s/hello bash/hello sed\n/;P;D' b.txtN先把文件中第一二行放到模式空间里边,然后把\n替换成空字符,之后再把hello bash替换成hello sed\n输出之后,删除模式空间中第一行。然后N把文件中第二三行放到模式空间里边,然后把\n替换成空字符,之后再把hello bash替换成hello sed\n输出之后,删除模式空间中第一行。依次类推,还会把文件第三四行进行处理。

此文章为8月Day 12学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》

相关推荐
喜欢你,还有大家几秒前
FTP文件传输服务
linux·运维·服务器·前端
凯尔萨厮12 分钟前
Java学习笔记三(封装)
java·笔记·学习
czhc114007566328 分钟前
LINUX99 centos8:网络 yum配置;shell:while [ $i -ne 5 ];do let i++ done
linux
YoungUpUp42 分钟前
【文件快速搜索神器Everything】实用工具强推——文件快速搜索神器Everything详细图文下载安装教程 办公学习必备软件
学习·everything·文件搜索·实用办公软件·everything 工具·文件快速搜索·搜索神器
RaLi和夕1 小时前
单片机学习笔记.C51存储器类型含义及用法
笔记·单片机·学习
武文斌771 小时前
ARM工作模式、汇编学习
汇编·嵌入式硬件·学习·arm
lingggggaaaa2 小时前
小迪安全v2023学习笔记(八十讲)—— 中间件安全&WPS分析&Weblogic&Jenkins&Jetty&CVE
笔记·学习·安全·web安全·网络安全·中间件·wps
会开花的二叉树2 小时前
彻底搞懂 Linux 基础 IO:从文件操作到缓冲区,打通底层逻辑
linux·服务器·c++·后端
Jayyih2 小时前
嵌入式系统学习Day36(简单的网页制作)
学习·算法
呼啦啦5613 小时前
【Linux】权限
linux·权限