首页 > 系统相关 >软件测试|Linux三剑客之sed命令详解

软件测试|Linux三剑客之sed命令详解

时间:2023-08-18 15:33:21浏览次数:44  
标签:apple 软件测试 命令 sed fruits orange txt 三剑客

软件测试|Linux三剑客之sed命令详解_Apple

简介

sed(Stream Editor)是一款流式文本编辑器,在 Linux 和类 Unix 系统中广泛使用。它的设计目的是用于对文本进行处理和转换,可以用于替换、删除、插入、打印等操作。sed 命令通过逐行处理文本,允许您使用简单的命令来编辑大量文本数据。本文将详细介绍 sed 命令的基本用法和一些常见的编辑操作。

基本语法

sed 命令的基本语法如下:

sed [options] 'command' input_file
  • options:可选参数,用于指定 sed 命令的行为。
  • 'command':用于指定编辑操作的命令,可以是单个命令或多个命令的组合。
  • input_file:要处理的输入文件名。

常用参数

下面是一些常见的 sed 命令选项:

  • -e:允许在命令行中指定多个编辑命令。
  • -i:直接在输入文件中进行编辑(原地编辑),而不是在标准输出上打印结果。
  • -n:禁止默认输出,只打印被处理的文本。

使用示例

下面是一些常用的 sed 命令:

  1. 替换文本
sed 's/pattern/replacement/' input_file

上述命令将在input_file 文件中查找第一个匹配的pattern 并替换为 replacement。如我们要将fruits.txt中的APPLE替换为Apple,如下:

sed 's/APPLE/Apple/' fruits.txt

######## 
apple
Apple
banana
BANANA
ORANGE
orange
grape
Grape
good
Good
  1. 全局替换
sed 's/pattern/replacement/g' input_file

该命令将在 input_file 文件中查找所有匹配的 pattern 并替换为 replacement。比如我们要在fruits.txt中找到所有的orange并替换为peach

sed 's/orange/peach/g' fruits.txt

#########
apple
APPLE
banana
BANANA
ORANGE
peach
grape
Grape
good
Good
apple
peach
peach
peach
  1. 替换特定行
sed 'ns/pattern/replacement/' input_file

此命令将在input_file 文件的第 n 行中查找匹配的pattern并替换为replacement。比如我们要将第4行的BANANA改为banana

sed '4s/BANANA/banana/' fruits.txt

#######
apple
APPLE
banana
banana
ORANGE
orange
grape
Grape
good
Good
apple
orange
orange
orange
  1. 删除特定行
sed 'nd' input_file

该命令将删除 input_file 文件的第 n 行。比如我们要删除fruits.txt的第13行,命令如下:

sed '13d' fruits.txt 

########
apple
APPLE
banana
BANANA
ORANGE
orange
grape
Grape
good
Good
apple
orange
orange
  1. 插入文本
sed 'ni\Insert this line' input_file

此命令将在 input_file 文件的第 n 行之前插入新行 "Insert this line"。比如我们要在fruits.txt的第5号插入mango,命令如下:

sed '5i\mango' fruits.txt 

#########
apple
APPLE
banana
BANANA
mango
ORANGE
orange
grape
Grape
good
Good
apple
orange
orange
orange

sed结合正则表达式

sed 支持强大的正则表达式,可以实现更复杂的模式匹配和处理。我们可以在 sed 命令中使用正则表达式来匹配文本并进行编辑操作。

  1. 替换文件中的所有 "orange":
sed 's/orange/mango/g' fruits.txt

######
apple
APPLE
banana
BANANA
ORANGE
mango
grape
Grape
good
Good
apple
mango
mango
mango

上述命令将在 fruits.txt 文件中将所有 "orange" 替换为 "mango"。

  1. 删除包含 "banana" 的行:
sed '/banana/d' fruits.txt

#######
apple
APPLE
BANANA
ORANGE
orange
grape
Grape
good
Good
apple
orange
orange
orange

此命令将从 fruits.txt 文件中删除所有包含 "banana" 的行。

  1. 在文件开头插入标题:
sed '1i\Title of Fruits' fruits.txt

#######
Title of Fruits
apple
APPLE
banana
BANANA
ORANGE
orange
grape
Grape
good
Good
apple
orange
orange
orange

此命令将在 fruits.txt 文件的开头插入一行 "Title of Fruits"。

总结

sed 命令是一款强大的流式文本编辑器,可用于对文本进行替换、删除、插入等操作。通过使用简单的命令和正则表达式,您可以高效地处理大量文本数据。在本文中,我们介绍了 sed 命令的基本用法和一些常见的编辑操作,希望这能帮助您更好地利用 sed 命令处理和转换文本。

标签:apple,软件测试,命令,sed,fruits,orange,txt,三剑客
From: https://blog.51cto.com/u_15640304/7137072

相关文章

  • 容器化部署nacos 1.4.6报错caused: The specified key byte array is 0 bits which is
    nacos2.0+与nacos1.x区别nacos在2.0+版本开始使用grpc与客户端通信,并且通过非8848端口通信主要是有两个端口端口与主端口的偏移量描述98481000客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求98491001服务端gRPC请求服务端端口,用于服务间同步等......
  • Linux Shell下awk,sed,cut的常用方法并在自动化运维脚本中联合运用
    AWK处理工具,它可以用于提取、处理和格式化文本数据。它的主要功能是逐行扫描文件,并根据匹配模式执行操作。AWK具有以下主要特点:读取和处理文本文件中的数据根据匹配模式执行操作逐行扫描文件打印指定的列在自动化运维脚本中,AWK可以用于处理日志文件,例如提取特定行的数据、从日志文......
  • 论文解读(UDALM)《UDALM: Unsupervised Domain Adaptation through Language Modeling
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:UDALM:UnsupervisedDomainAdaptationthroughLanguageModeling 论文作者:ConstantinosKarouzos,GeorgiosParaskevopoulos,AlexandrosPotamianos论文来源:2021aRxiv论文地址:download论文代码:download视屏......
  • 软件测试|Linux下Python安装配置指南
    在Linux中安装Python是一个简单而且重要的过程,因为Python是一种广泛使用的编程语言,许多系统工具和应用都依赖于它。在本文中,我将详细介绍如何在Linux系统中安装Python。请注意,在本文中,我将以Centos为例,但是这些步骤大多数也适用于其他基于RedHat的发行版。对于其他发行版,请使用相应......
  • 论文解读(CBL)《CNN-Based Broad Learning for Cross-Domain Emotion Classification》
    Note:[wechat:Y466551|付费咨询,非诚勿扰]论文信息论文标题:CNN-BasedBroadLearningforCross-DomainEmotionClassification论文作者:RongZeng,HongzhanLiu,SanchengPeng,LihongCao,AiminYang,ChengqingZong,GuodongZhou论文来源:2023aRxiv论文地址:download ......
  • 如何做好软件测试报告?第三方软件测试报告有什么好处?
    软件测试报告是软件测试过程中的重要产出物之一,它是测试团队对测试项目进行总结和评估的文档。通过对软件测试过程、测试环境、测试工具以及测试结果的详细记录,软件测试报告能够为客户提供全面的软件质量评估和问题反馈。一、好的软件测试报告应该包含以下几个方面:1、......
  • 软件测试报告可以包含哪些测试内容?
     软件测试报告可以包含以下测试内容:功能测试:测试软件的基本功能是否实现,是否符合要求。性能测试:测试软件的响应速度、并发能力、稳定性等性能指标。界面测试:测试软件的用户界面是否友好、易于使用。兼容性测试:测试软件在不同的操作系统、浏览器、设备上的兼容性。安全性测......
  • 论文解读(ECACL)《ECACL: A Holistic Framework for Semi-Supervised Domain Adaptation
     Note:[wechat:Y466551|付费咨询,非诚勿扰]论文信息论文标题:ECACL:AHolisticFrameworkforSemi-SupervisedDomainAdaptation论文作者:KaiLi,ChangLiu,HandongZhao,YulunZhang,Y.Fu论文来源:2021ICCV论文地址:download 论文代码:download视屏讲解:click1介绍 ......
  • 软件测试人员每天的工作日常
    我现在每天9点左右从家里出发,9点半左右到公司,到公司之后,首先用养生壶煮一壶好茶,工作忙碌时也要记得多喝水,然后一边听着煮茶声一边写着当天的工作计划,工作计划主要包括当天工作内容、学习计划和总结。计划并不是每天都能完成,在工作结束之后根据实际完成内容标注和总结,同时写当天遇......
  • 软件测试|docker搭建Jenkins+Python+allure自动化测试环境
    简介本文将详细介绍如何使用Docker搭建一个完整的自动化测试环境,其中包括Jenkins作为持续集成和持续交付工具,Python作为测试脚本编写语言,以及Allure作为测试报告生成工具。通过使用Docker容器,您可以轻松地设置和管理这些工具,提高测试效率和质量。安装docker安装docker的步骤,可以直......