shell 脚本string的替换

Shell:字符串的截取和替换 echo ${a%%,*},表示从右侧开始向左,通配到最后一个,*后,取剩余的字符。echo ${a%,*},表示从右侧开始向左,通配到第一个,*后,取剩余的字符。${a##*,},表示从左侧开始向右,通配最后一个*,后,取剩余的字符。${a#*,},表示从左侧开始向右,通配第一个*,后,取剩余的字符。${a#he},表示从左侧开始,匹配到完整的he后,取剩余的字符。${a%88},表示从右侧开始,匹配到完整的88后,取剩余的字符。 阅读详情

1. 基本的替换

:s/vivian/sky/替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

(n 为数字,若 n 为 .,表示从当前行开始到最后一行)

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

2. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/#替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+(使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

3. 其它用法

利用 ? 命令可以实现字符串的替换。具体的用法包括:

:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

Nano Banana 2哪里使用?Nano Banana 2提示词合集和使用教程 收集最强的Nano Banana 2提示词合集,以及Nano Banana 2哪里使用的教程,并且有10个免费使用渠道。 阅读详情

相关推荐

Anroid8.1 强制修改系统可以adb remount

在Android6.0 (Android M)user版本上,发现使用adb root后再adb remount系统之后会提示这样信息:remount of /system failed: Read-only file system,这是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system,因为系统本身在user就不支持可写操作,我们就不能adb push来调试apk,如果想调试apk就需要修改system、vendor权限问题。 如下现象: C:\Use

wq892373445的博客 1408

shell内置字符串替换

shell内置字符串替换

如梦人身 8747

存储关键技术·RAID技术·RAID2.0·华为RAID2.0+·华为服务器·云计算

一.RAID基本概念 常见的RAID级别组合RAID级别 二.RAID的数据组织形式 三.RAID的数据保护功能 方法一:镜像方法二:奇偶校验算法(XOR) 四.RAID热备和重构 1.热备(Hot Spare)的定义2.热备的分类3.热备的工作原理 五.RAID 2.0技术 1.RAID 2.02.RAID 2.0+3.华为RAID 2.0+ 六.RAID 2.0+块虚拟化技术 1.什么会出现RAID 2.0+技术?2.什么是RAID 2.0?3.RAID 2.0+的原理是什么?

qq_47480932的博客 3320

shell变量字符串常用操作小结

1、常用的基本操作解析:①${#string} //返回$string的长度(字符串中的字符个数),${string} | wc -m也可以达到类似的效果 ②${string:position} //返回$string的position开始的字串(提取字串,不含pos) ③${string:position:length} //返回$string的pos开始的长度为len的字串(不含pos),${s

Apollon_krj的博客 2338

ROS2实战:从零部署Cartographer激光SLAM系统

本文详细介绍了在ROS2 Humble环境下,从零开始部署Cartographer激光SLAM系统的完整实战流程。内容涵盖环境准备、Cartographer安装(APT与源码编译两种方式对比)、工作空间与功能包创建、核心启动文件与Lua配置文件编写、系统构建与可视化启动,以及地图保存与实战调参技巧,帮助开发者快速构建稳定可靠的机器人SLAM应用。

weixin_29213655的博客 248

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析

前言:ERA5主要提供DAILY和MONTHLY两大类别数据,其中主要包括气温、降水、压力、风速等。

等待着冬天的风的博客 3万+

Shell技能树---字符串替换

Shell技能树---字符串替换

renhl252的专栏 2659

STM32 CubeMX实战:手把手教你用I2C驱动IST8310磁力计(附完整代码)

本文详细介绍了如何使用STM32 CubeMX和I2C驱动IST8310磁力计,从硬件连接到代码实现的完整流程。重点讲解了I2C通信异常处理、传感器初始化序列优化以及中断驱动数据采集方案,帮助开发者快速搭建可靠的地磁场数据采集系统。

weixin_42531163的博客 189

【shell】字符串截取&替换&分割

shell字符串输出、截取、分割、替换。

Luna_A的博客 2万+

Tera Term介绍和使用指南

Tera Term 是一个用于 Windows 操作系统的免费终端模拟器和串口通信软件。它主要用于在计算机和其他设备之间建立串口通信连接,例如通过串行线缆连接到设备如路由器、开发板或嵌入式系统。Tera Term 支持多种通信协议和功能,包括 Telnet、SSH 和串口通信。提供了一个终端窗口,模拟了常见的终端类型,如VT100。支持通过串口与设备进行通信,可用于与嵌入式系统、微控制器等设备进行连接。提供 Telnet 和 SSH 功能,可用于通过网络连接到远程主机。

weixin_49423593的博客 1万+

华为OD机试真题2025双机位C卷 Python&JS 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 403

shell脚本的字符处理tr和cut和字符串替换${parameter//pattern/string}

目录 1. tr 2.${parameter//pattern/string} 3.cut命令 对于TR和CUT命令都可以用管道直接级联使用:先给出例子如下: echo x.yy.x@x@s%a | tr "." " "|tr x y|cut -d @ -f 3|tr % " " >> s a tmparray=(`echo x.yy.x@x@s%a | tr "." " "|tr x y|cut -d @ -f 3|tr % " "`) echo ${tmparray[*]} .

cy413026的博客 1347

C#调用opencv的dll

opencv算法和界面配合,刚入职的时候尝试过,利用的MFC,调试起来很痛苦。 后来基本都没怎么用界面,DOS的黑窗口,opencv自带的显示界面及滑动条凑合着调试用。 最近有点时间,刚好双十一在一个视觉群里看到了一个讲C#调用opencv的dll的课程,鉴于群主也是那门课的讲师,在平时解答群员的问题的时候很细心,能力也很强,因此有了这篇文章。 根据相机不同动态调用相机默认的属性...

Learning by doing 2975

Shell中${}引用变量的高级用法

目录 一、变量中字符串的删除 ${var#*string} ${var##*sting} ${var%string*} ${var%%string*} 记忆: 二、变量中字符串的替换 ${var/pattern/string} ${var//pattern/string} 记忆: 三、变量中字符串的长度计算 ${#var} 四、变量中字符串的切片 ${var:position} 记忆: ${var:position:length} ${str: -length} ...

Monica的博客 4841

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Shell笔记

一、字符串处理 https://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 常用场景:解析文本,分割line(splist) string//substring/replacement使用{string//substring/replacement} 使用string//substring/replacement使用replac...

小路恢宏随手记 588

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

shell中常用的特殊符号

在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `command`{} [] [[]]    () (()) || && {xx,yy,zz,...}~ ~+ ~- & \<...\> + - %= == !=      ...

weixin_34161083的博客 171

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

while shell linux,LINUX实操:shell中while循环的陷阱

《LINUX实操:shell中while循环的陷阱》要点:本文介绍了LINUX实操:shell中while循环的陷阱,希望对您有用。如果有疑问,可以联系我们。在写while循环的时候,发现了一个问题,在while循环内部对变量赋值、定义变量、数组定义等等环境,在循环表面失效.一个简单的测试剧本如下:#!/bin/bashecho "abc xyz" | while read linedonew_v...

weixin_31715171的博客 435

(转)详细解说STL string

0 前言: string 的角色 C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触perl, php, 和Shell脚本以后,开始理解了以前为什么有人说C+

千月星跡 920

shell截取mysql连接串_shell截取指定字符串之间的内容

#!/bin/bash#截取字符串#path=ss/usr/share/src/root/home/adminpath=ss/usr/share/src/root/home/admin/src/addecho $pathecho ${path%src*} #从右向左截取第一个 src 后的字符串echo ${path}echo ${path%/*}从右向左截取第一个/ 后的字符串echo ${...

weixin_33281416的博客 293

shell编程 - 数据流指南

本文系统介绍了Shell中的重定向机制。主要内容包括:1)文件描述符概念,重点说明标准输入(stdin)、输出(stdout)和错误(stderr);2)输出重定向的各种形式,包括基础重定向、合并输出及特殊目标设备;3)输入重定向方法,如Here Document和Here String;4)高级文件描述符操作,包括自定义描述符和描述符复制;5)管道工作原理及其与重定向的结合使用;6)tee命令的分流输出功能;7)进程替换技术,包括输入和输出进程替换。文章通过大量示例和图表,全面展示了Shell重定向的核心

xiaohaha123258的博客 927

shell编程(八)连载

shell 编程-SED 非交互式编辑器,一次处理一行内容。 示例文件 file1.txt John Daggett, 341 King Road, Plymouth MA Alice Ford, 22 East Broadway, Richmond VA Orville Thomas, 11345 Oak Bridge Road, Tulsa OK Terry Kalkas, 402 Lans Road, Beaver Falls PA Eric Adams, 2...

qfxulei的博客 369

shell中一些特殊符号的含义简介

在shell中常用的特殊符号罗列如下: # ;;; . ,/\'string'|!$${}$? $$$*"string"***? :^ $#$@`command`{} [] [[]]() (()) ||&am...

暮木的博客 787

echo: 写错误: 无效的参数_shell参数扩展${}

双节快乐呀!看别人的shell脚本看到了陌生的"${}"用法,尽管能看出来在脚本中是做什么的,还是去学习一下, 找到了参考中的那篇博客,写的很清楚。在这里只是添加几个例子,那篇博客只是写了用法没有例子, 也是看用法不是太明白,动手搞搞例子就清楚了。这里要写的例子如下:${parameter:-word};${parameter:=word};${parameter:?word};${pa...

weixin_32103009的博客 2339

在shell脚本中替换一个子字符串为另一个字符串

请注意,此功能不是 POSIX 标准所规定的——它是 Bash 的扩展功能——因此并非所有 Unix shell 都实现了它。有关相关的 POSIX 文档,请参阅《开放组织技术标准基线规范》第 7 版,《Shell & Utilities 卷》第 2.6.2 节“参数扩展”。(这在《Bash 参考手册》第 3.5.3 节“Shell 参数扩展”中有详细说明。要将给定模式的第一个出现替换为指定字符串,使用。要将所有出现的模式替换为指定字符串,使用。

liluo0815481的博客 618

ubuntu上的sh链接到dash

最近同事写的shell脚本在ubuntu上跑时总走不对if的分支。发现ubuntu上的shell默认是bash,但sh对应的是dash,这个需要注意。 1 ubuntu上sh连到dash: zxw@hostname1:~$ uname -a Linux hostname1 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17

深入理解PostgreSQL 4648

linux shell 字符串替换字符,关于bash:在shell脚本中替换另一个字符串的一个子字符串...

我有"我爱苏西并结婚",我想把"苏西"改成"萨拉"。#!/bin/bashfirstString="I love Suzi and Marry"secondString="Sara"# do something...结果必须如下:firstString="I love Sara and Marry"要用给定的字符串替换模式的第一个匹配项,请使用${parameter/pattern/string}...

weixin_39911998的博客 903
上一篇: concat拼接字段注意躲避空值坑
下一篇: 简化跳板机操作
yjgithub
博客等级 码龄11年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值