当前位置: 首页 > news >正文

Linux学习之sed多行模式

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

doubleSpace.txt里边的内容如下:

goo
d
man

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

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,然后依次输入下边的内容:

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 讲》。

http://www.lryc.cn/news/125145.html

相关文章:

  • 【刷题笔记8.15】【链表相关】LeetCode:合并两个有序链表、反转链表
  • 神经网络基础-神经网络补充概念-11-向量化逻辑回归
  • openGauss学习笔记-40 openGauss 高级数据管理-锁
  • 勘探开发人工智能技术:机器学习(6)
  • 代理类型中的 HTTP、HTTPS 和 SOCKS 有什么区别?
  • 【STM32RT-Thread零基础入门】 3. PIN设备(GPIO)的使用
  • fiddler抓包工具的用法以及抓取手机报文定位bug
  • spring中时间格式化的两种方式
  • 【设计模式】原型模式
  • Matlab的Filter Designer工具设计二阶低通滤波器
  • 软件测试基础篇——LAMP环境搭建
  • 使用dom4j将xml转为String并去掉所有格式
  • wsl2安装docker引擎(Install Docker Engine on Debian)
  • 百日筑基篇——python爬虫学习(一)
  • 【Spring专题】Spring之底层架构核心概念解析
  • electron 使用node C++插件 node-gyp
  • 学习Vue:使用条件渲染指令(v-if,v-else,v-show)
  • 【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
  • Redis辅助功能
  • 快手商品详情数据API 抓取快手商品价格、销量、库存、sku信息
  • linux系统部署jenkins详细教程
  • Arduino驱动BME680环境传感器(环境传感器篇)
  • 领航未来!探索开源无人机与5G组网的前沿技术
  • 分布式事务CAP与BASE简介
  • Integer中缓存池讲解
  • PHP Smarty模板如何与MVC框架集成?
  • spring cloud alibaba 应用无法注册到sentinel dashboard
  • 如何在vue3中加入markdown语法
  • R语言的物种气候生态位动态量化与分布特征模拟实践技术
  • 大数据Flink(六十一):Flink流处理程序流程和项目准备