linux sed命令删除一行/多行_sed删除第一行/linux删除文件某一行

sed系列文章

  1. linux常用命令(9):sed命令(编辑/替换/删除文本)
  2. linux sed命令删除一行/多行_sed删除第一行/linux删除文件某一行
  3. linux sed批量修改替换文件中的内容/sed特殊字符

文章目录

  • sed系列文章
  • 一、sed删除
    • 1.1、sed删除某一行内容/删除最后一行
    • 1.2、sed删除多行
    • 1.3、删除所有空白行
    • 1.4、删除匹配的行
    • 1.5、删除以a开头的行
    • 1.6、反向删除
    • 1.7、删除空格
  • 二、扩展
    • 2.1、-i命令

本文主要讲解如何删除txt文件中的某一行内容,sed命令更多详细内容参考《linux常用命令(9):sed命令(编辑/替换/删除文本)》

一、sed删除

编辑命令含义
1d删除第1行的内容
1,5d删除1行到5行的内容
2,+5d删除第2行以及往下的5行的内容
/pattern1/d删除每行中匹配到pattern1的行内容
/pattern1/,/pattern2/d删除匹配到pattern1的行直到匹配到pattern2的所有行内容
/pattern1/,10d删除匹配到pattern1的行到10行的所有行内容
10,/pattern1/d删除第10行直到匹配到pattern1的所有内容

1.1、sed删除某一行内容/删除最后一行

sed -i '1d' filename   删除文件第一行
sed -i '2d' filename   删除第二行
sed -i 'nd' filename   删除第n行/n需要是实际数字
sed -i '$d' filename   删除最后一行

执行效果:
在这里插入图片描述
若指定的行不存在,则不删除
在这里插入图片描述

1.2、sed删除多行

sed -i '1,3d' filename   删除1-3行
sed -i '3,$d' filename  删除第3行到最后一行

执行效果:
在这里插入图片描述
在这里插入图片描述

1.3、删除所有空白行

# 删除所有空白行
sed -i '/^$/d' filename

在这里插入图片描述

1.4、删除匹配的行

sed  -i '/某字符串/d'  filename

命令解释:

  • /某字符串/ 匹配//中间放的字符串的行,加^表示匹配行首,如:
    /^+/ 匹配行首字符串为“+”的行
[root@centos test]# cat aa.txt
| 1 | tom ||
| 2 | jack||
| 3 | cary||
| 4 | cody||
[root@centos test]# sed '/男/d' aa.txt  -- 删除有男的行
| 2 | jack||
| 4 | cody||
[root@centos test]# 

1.5、删除以a开头的行

删除以a开头的行
sed -i '/^a.*/d' tmp.txt

1.6、反向删除

# 删除不包含green的行
sed -i '/green/!d'   test.txt

1.7、删除空格

删除行首空格 sed  's/^[ \t]*//g'删除行末空格 sed  's/[ \t]*$//g'删除所有的空格 sed  's/[[:space:]]//g'
其中,sed 's/^[ ]*//g' 表示使用空字符匹配行首为空格的字符串;
依次拆解释义:     
字符 's' 表示替换;     
字符 '/' 表示作为分隔符;     
字符 '^' 表示开头;     
字符 '$' 表示结尾;     
字符 '[ ]' 表示匹配指定字符范围内的任意单个字符,[ ]包含一个空格;     
字符 '*' 作为通配符,匹配0个或任意多个;     字符 'g’ 表示全部匹配;

二、扩展

2.1、-i命令

-i:直接修改文档读取的内容,不在屏幕上输出

sed 把当前正在处理的行保存在一个临时缓存区中,这个缓存区称为模式空间或临时缓冲。sed默认不会直接修改文件中的值,加-i后会直接修改文件中的内容。
在这里插入图片描述





整理本文时发现一些其他文章值得借鉴的: https://blog.csdn.net/bandaoyu/article/details/120047612

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/277426.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven进阶篇超详细笔记

Maven进阶篇详细笔记,源码可见下载链接 大家阅读时可善用目录功能,可以提高大家的阅读效率 下载地址:Maven笔记项目源码 分模块开发 分模块开发的意义 将原始模块查分成若干个子模块,方便模块间的相互调用,接口共享 …

EasyExcel读取Excel数据(含多种方式)

目录 EasyExcel简介 使用EasyExcel进行读数据 引入依赖: EasyExcel提供了两种读取模式 使用 监听器 读取模式 1.创建一个实体类 2.创建监听器 代码 使用 同步读 读取模式 1.创建一个实体类 2.代码 添加导入数据库的逻辑 其实官方文档讲得很清楚&#xff…

为什么需要Bootloader

目录 一、Bootloader简介二、所需知识点一、Bootloader简介 Bootloader,又称为引导程序,对操作系统非常重要,是计算机和汽车控制器的一个关键组成部分。然而,因为它往往在后台发挥作用,它经常被忽视。其主要用于软件更新。但ECU的软件更新方式有很多,比如通过JTAG调试更…

C++_构造函数与析构函数

目录 1、构造函数的写法 1.2 构造函数优化写法 2、默认构造函数与默认成员函数 2.1 默认成员函数对不同类型的处理 3、对内置类型的补丁 4、析构函数 4.1 析构函数的写法 5、默认析构函数 6、初始化列表 6.1 初始化列表的写法 6.2 初始化列表的作用 6.3 回顾与总结 …

SpringBoot基础使用及对其他项目进行整合

目录 一、简介 1-讲述 2-特点 二、创建配置 1.创建 2.配置 3.代码生成 三、项目整合 每篇一获 一、简介 1-讲述 众所周知 Spring 应用需要进行大量的配置,各种 XML 配置和注解配置让人眼花缭乱,且极容易出错,因此 Spring 一度被称…

深入了解空号检测API:提升通信效率的关键

引言 随着通信技术的不断发展,人们对于通信效率的要求也越来越高。在通信过程中,空号检测是一个非常重要的环节,它可以帮助我们避免无效的通信,提高通信效率。而空号检测API则是实现空号检测功能的重要工具。 空号检测API 空号…

人工智能多模态:看、听、说,智能感知的全方位融合

导言 人工智能多模态技术是指通过整合视觉、听觉、语言等多个感知模态的信息,实现对丰富、多样化数据的理解与处理。本文将深入研究人工智能多模态的技术原理、应用场景以及对未来感知智能的影响。 1. 简介 人工智能多模态技术通过整合多个感知模态的信息&#xff…

安恒明御安全网关 aaa_local_web_preview文件上传漏洞复现

0x01 产品简介 明御安全网关秉持安全可视、简单有效的理念,以资产为视角,构建全流程防御的下一代安全防护体系,并融合传统防火墙、入侵检测、入侵防御系统、防病毒网关、上网行为管控、VPN网关、威胁情报等安全模块于一体的智慧化安全网关。 0x02 漏洞概述 明御安全网关在…

【信息学奥赛】拼在起跑线上,想入道就别落下自己!

编程无难事,只怕有心人,学就是了! 文章目录 1 信息学奥赛简介2 信息学竞赛的经验回顾3 优秀参考图书推荐《信息学奥赛一本通关》4 高质量技术圈开放 1 信息学奥赛简介 信息学奥赛,作为全国中学生学科奥林匹克“五大学科竞赛”之一…

ide启动端口占用

ide启动端口占用 处理方式 1、打开cmd 命令窗口 2、查询端口 9020 的进程 netstat -ano | findstr :9020 3、关闭相关进程 taskkill /pid 22128 /f

知乎口碑问答推广怎么做?

知乎作为一个开放性的问答社区,把各行各业的用户链接在一起,用户可以在知乎平台分享自己的经验,也可以在知乎上搜索自己感兴趣的问题,因此就会有很多企业想要在知乎上进行问答营销推广自己的产品。那么,知乎问答营销推…

数据分析为何要学统计学(11)——如何进行时间序列分析

时间序列是由随时间变化的值构成,如产品销量、气温数据等等,该数据集合是个有序序列,除了数值,没有其他因素。通过对时间序列展开分析,能够回答如下问题: (1)被研究对象的活动特征是…