Java字符串替换前缀,从Bash中的字符串中删除固定的前缀/后缀

使用sed:$ echo "$string" | sed -e "s/^$prefix//" -e "s/$suffix$//"o-wor

在sed命令中,^字符匹配以?开头的文本$prefix,尾随$匹配以$suffix。结尾的文本。

AdrianFrühwirth在下面的评论中提出了一些好处,但sed为此目的可能非常有用。$ sed和$ suffix的内容由sed解释的事实可能是好的或坏的 - 只要你注意,你应该没事。美丽的是,你可以这样做:$ prefix='^.*ll'$ suffix='ld$'$ echo "$string" | sed -e "s/^$prefix//" -e "s/$suffix$//"o-wor

这可能是你想要的,并且比bash变量替换更有魅力和更强大。如果你记得有很大的力量就会有很大的责任(正如蜘蛛侠说的那样),你应该没事。

关于shell及其字符串使用的注释:

对于给出的特定示例,以下内容也可以使用:$ echo $string | sed -e s/^$prefix// -e s/$suffix$//

......但仅仅是因为:echo不关心它的参数列表中有多少个字符串,以及

$ prefix和$ suffix中没有空格

在命令行中引用字符串通常是一种好习惯,因为即使它包含空格,它也会作为单个参数显示给命令。我们引用$ prefix和$ suffix的原因相同:sed的每个edit命令都将作为一个字符串传递。我们使用双引号,因为它们允许变量插值; 如果我们使用单引号,sed命令会得到一个字面值$prefix,$suffix这肯定不是我们想要的。

还请注意,我设置的变量时,使用单引号prefix和suffix。我们当然不希望对字符串中的任何内容进行解释,因此我们单引引它们以便不进行插值。同样,在这个例子中可能没有必要,但这是一个非常好的习惯。

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

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

相关文章

linux入门概述

入门概述 我们为什么要学习Linux linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能&#x…

matlab时域转复频域,信号与系统实验(MATLAB版)实验15连续系统的复频域分析.ppt...

一、实验目的  (1) 了解连续系统的复频域分析的基本实现方法;   (2) 掌握相关函数的调用格式及作用。   利用MATLAB的residue函数可以求借r1,…,rn,P1,…,Pn。  2) 直接的拉普拉斯变换法  经典的拉…

Linux学习Vim使用及账号用户管理

Vim使用及账号用户管理 什么是Vim编辑器 Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。linux必须要学会(查看内容,编辑内容,保存内容) 简单的来…

php 三个点 三角形面积,知道三角形三个顶点坐标,求面积,我觉得我的没错,但未通过,麻烦大佬帮忙看下...

#3ws191033302019-10-28 16:53回复 2楼 rjsp我重改了下,问题少了,但还有问题 ,麻烦看看?#include#includefloat dist(float x1,float y1,float x2,float y2);int main(){float x1,y1,x2,y2,x3,y3;scanf("%f %f %f %f %f %f&q…

学php要先学css吗,学PHP是不是就必须学htmlcssjs

我相学习PHP,可现在的书为什么都是一起讲的,和html css js,这样看上去好晕。谁给我解释下PHP HTML CSS JS分别都做什么的?回复讨论(解决方案)是的,必须学习PHP 用于提供动态数据HTML 用于网页排版CSS 用于美化页面JS 用…

Linux中使用userdel命令删除用户时出现错误 “userdel: user XXX is currently used by process XXX”*

Linux中使用userdel命令删除用户时出现错误 “userdel: user XXX is currently used by process XXX” [rootlocalhost ~]# userdel wqd userdel: user wqdis currently used by process 10479删除不成功 **出现原因:**是使用了su频繁转换用户 解决:直…

git的clone命令出现fatal:unable to access ‘https://github.comXXXXXXX“:OpenSSL SSL_read:connection was errn

git使用git clone命令时出现错误fatal:unable to access https://github.comXXXXXXX":OpenSSL SSL_read:connection was errn **解决办法:**把https改为git即可

vs 2015 oracle,VS2015连接oracle11g出现异常

vs2015,安装的是Oracle Developer Tools for VS2015,命名空间是using Oracle.ManagedDataAccess.Client;连接字符串是:"Data Source(DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST 10.5.83.195:8094)(PORT 1521)))(CON…

大数据时代的3V3高

大数据时代的3V&3高 在21世纪初,互联网得用户还不是很广泛。所以大部分的系统都是单机系统,对系统的性能得要求并不是很高。 2010-2020 这个时间段,个人微机急剧增加,互联网用户数量进入一个急剧增长的时代。 当然&#xf…

oracle创建多个游标,Oracle——游标的创建和使用

游标SQL语言是面向集合的,是对指定列的操作。如果要对列中的指定行进行操作,就必须使用游标。当在PL/SQL块中执行查询语句(SELECT) 和数据操纵语句(DML) 时,Oracle会为其分配一个上下文区(Context Area)游标是指向上下文区的指针,…

linux下各种颜色文件的意义

linux下各种颜色文件的意义 蓝色表示目录; 绿色表示可执行文件; 红色表示压缩文件; 浅蓝色表示链接文件; 灰色表示其它文件; 红色闪烁表示链接的文件有问题了; 黄色是设备文件,包括block, char, fifo。 用dircolors -p看到缺省的颜色设置,包括各种颜色和…

aix vnc oracle,请问如何配置AIX上的vnc

有人说:但是我的机器上没有ibm850put the following in the vncserver script in the fonts section: (all one line)$cmd . " -fp /usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/,/usr/ lib/X11/fonts/75dpi/,/usr/lib/X11/fonts/100dpi/,/usr/lib/X11/fonts/ibm850/,/us…

linux 为什么要安装gcc和gcc-c++(又叫做g++)

linux 为什么要安装gcc和gcc-c(又叫做g) gcc-c(又叫做g)是为gcc提供c语言特性支持的 linux上的gcc是Gnu的C语言编译器,至于C编译器,它的名字叫做g。 linux中的gcc是由GNU推出的一款功能强大的、性能优越的多平台编译器。gcc编译器能将C、C语言源程序和目…

Oracle数据库配置方案,oracle数据库各项参数参考配置方案

1 ORACLE软件安装规范 1.ORACLE的HOME目录2 关闭操作系统NUMA 1.是否关闭NUMA3 oracle内存大小 1.sga_max_size2.sga_target3.pga_aggregate_target4 调整连接相关参数 1.processes 2000 12.open_cursors 1000 10003.session_cached_cursors 2005 ONLINE REDO的大小和组数2.每个…

matlab中直到循环语句,Matlab再次执行循环,直到第一条语句结束

想一想写入文件的过程:它会按顺序(通常)将字节从内存复制到存储介质。你要求的是做以下事情(我假设第一个fprintf在随后的调用中写aaa,bbb,ccc,第二个写AAA,BBB,CCC)。aaaAAA - after first passaaabbbAAAB…

使用Jedis连接远程服务器的redis

使用Jedis连接远程服务器的redis 1.修改服务器提供商的安全组规则,开放6379端口 2.修改服务器的防火墙规则,开放6379端口(CentOS7) 命令如下: # 查看firewall服务状态 systemctl status firewalld # 开启、重启、关闭、firewalld.service…

linux内核多大 4.17.8,Linux Kernel 4.17结束支持,请升级到Linux 4.18内核

Linux Kernel 4.17最后一个更新是Linux Kernel 4.17.19内核,该系列内核版本将结束支持,它不会再得到新的更新,请用户把Linux内核升级到4.18版本,这样能避免安全漏洞威胁。Linux kernel 4.17发布背景及重点特性Linux创始人Linus To…

远程连接redis遇到的一些错误解决办法JedisConnectionException:java.net.SocketTimeOutException...JedisDataException:D

一些错误解决办法 开放redis端口的防火墙 继续尝试运行 报错的意思是说redis在保护模式下运行,需要去掉保护。 第一种:直接去掉自我保护(不推荐) (redis3.2版本后新增protected-mode配置,默认是yes,即开…

linux怎么查看内核定义的结构体,Linux如何查找一个结构体的原始定义

下面以查找结构体FILE的原始定义为例:1、我们知道,这些定义一般都在 /usr/include下面,所以首先到达目录 /usr/include 下面2、用grep命令搜索 ,即grep FILE stdio.h,可得以下结果(部分),FILE在stdio.h中定义有好多地方…

关于Redis配置主从复制踩到的坑,主机不显示从机的连接信息

关于Redis配置主从复制踩到的坑!!! 设置单机集群的时候,两台从机都显示连接到主机,但是主机显示连接到的从机数量为0: 主机信息: 从机80: 从机81: 查看从机log日志文件发现错误信息…