linux shell 替换字符串的几种方法,变量替换${},sed,awk_whatday的博客-程序员信息网_shell 字符串替换

变量a是一个带空格的字符串,现在用"hdpusr400"替换变量a中的"hduser302":

[[email protected] ~]$ echo $a
-rw-r----- 3 hduser302 hduser302 3336 2019-07-12 17:35 /apps/hduser302/student/properties/xxyy/IMP_00004_XXYY_USE_PERSONALINFO.properties

#用变量替换${a//}做字符串替换
[[email protected] ~]$ echo ${a/hduser302/hdpusr400}   #变量a中的第一个匹配的字符串会被替换
-rw-r----- 3 hdpusr400 hduser302 3336 2019-07-12 17:35 /apps/hduser302/student/properties/xxyy/IMP_00004_XXYY_USE_PERSONALINFO.properties
[[email protected] ~]$ echo ${a//hduser302/hdpusr400}  #变量a中所有匹配的字符串都会被替换
-rw-r----- 3 hdpusr400 hdpusr400 3336 2019-07-12 17:35 /apps/hdpusr400/student/properties/xxyy/IMP_00004_XXYY_USE_PERSONALINFO.properties

#用sed做字符串替换
[[email protected] ~]$ echo $a | sed 's/hduser302/hdpusr400/'   #sed 's///' 用来替换第一个匹配的字符串
-rw-r----- 3 hdpusr400 hduser302 3336 2019-07-12 17:35 /apps/hduser302/student/properties/xxyy/IMP_00004_XXYY_USE_PERSONALINFO.properties
[[email protected] ~]$ echo $a | sed 's/hduser302/hdpusr400/g'   #sed 's///g'用来替换所有匹配的字符串
-rw-r----- 3 hdpusr400 hdpusr400 3336 2019-07-12 17:35 /apps/hdpusr400/student/properties/xxyy/IMP_00004_XXYY_USE_PERSONALINFO.properties

#用awk做字符串替换 (这个例子中用sub或gsub都可以,默认是空格为分隔符)
[[email protected] ~]$ echo $a | awk '{gsub(/hduser302/,"hdpusr400",$3);print $0}' #指定替换第一个
-rw-r----- 3 hdpusr400 hduser302 3336 2019-07-12 17:35 /apps/hduser302/student/properties/xxyy/IMP_00004_XXYY_USE_PERSONALINFO.properties
[[email protected] ~]$ echo $a | awk '{gsub(/hduser302/,"hdpusr400");print $0}'   #全部替换
-rw-r----- 3 hdpusr400 hdpusr400 3336 2019-07-12 17:35 /apps/hdpusr400/student/properties/xxyy/IMP_00004_XXYY_USE_PERSONALINFO.properties

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/whatday/article/details/104963945

智能推荐

【JSP入门】只知道HTML却不知道JSP?_abcccccccccccccccode的博客-程序员信息网

JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而==动态生成== HTML、XML 或其他格式文档的Web网页的技术标准。

Elasticsearch 默认分词器和中分分词器之间的比较及使用方法_坦GA的博客-程序员信息网

原文地址:https://segmentfault.com/a/1190000011065897 介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够...

Linux系统各个版本 区别_码不停Ti的博客-程序员信息网

debian, 适合系统管理和运维 ubuntu 安装简单,界面友好,社区活跃。 kali 就适合做网络安全方面的操作 deepin 国产的深度发行版,界面做的非常好看 centos 服务器 gentoo 深入底层,透明

2015年第六届蓝桥杯JavaA组_码畜也有梦想的博客-程序员信息网

第1题:熊怪吃核桃森林里有一只熊怪,很爱吃核桃。不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份。如果不能等分,熊怪就会扔掉一个核桃再分。第二天再继续这个过程,直到最后剩一个核桃了,直接丢掉。有一天,熊怪发现了1543个核桃,请问,它在吃这些核桃的过程中,一共要丢掉多少个核桃。请填写该数字(一个整数),不要填写任何多余的内容或说明文字。——————————————————...

linux--RHCS(二)fence避免资源争用_Aplox的博客-程序员信息网

为了解决server1和server2争抢,浪费资源== 背景:==server1 172.25.254.1 rhel6.5server2 172.25.254.2 rhel6.5真机 172.25.254.38 在主机上安装fence在server1和server2上添加...

c++程序员的常用工具集_weixin_30478923的博客-程序员信息网

c++程序员的常用工具集 ■...开发环境  ---->Turbo c  DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:)  ---->Visual C++ 6.0/7.0  稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工...

随便推点

原生php往word文件对应位置写入值 , 并实现预览和下载功能(超实用)_小熊爱芒果的博客-程序员信息网_php把变量写入word模板

文件预览的效果图(附带导出pdf文件和打印功能):实现方式如下:1.打开模板word文件 , 在对应地方打上书签;2.在php.ini中加上   extension=php_com_dotnet.dll ;  目前只支持windows系统3.代码如下  用数组来记录书签和表字段的对应关系  如果经常变动也可以用数据库来记录 'PROJECT_MAP' => ...

Understanding Photometric and Radiometric units and their application to computer graphics_aa20274270的博客-程序员信息网

参考:http://mentalraytips.blogspot.com/2007/03/understanding-photometric-and.htmlUnderstanding Photometric and Radiometric units and their application to computer graphicsOr: "Ho

Python中对字符串长度有要求吗?_weixin_44653724的博客-程序员信息网_python文本分类对长度有要求吗

如果给定一个变量a,且a为字符串类型,对a的长度有限制吗?eg:a = ‘hello’在此a的长度有限制吗?欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准...

向上取整⌈⌉ 和 向下取整⌊⌋ 和四舍五入_猴子姑娘呀的博客-程序员信息网_向下取整和四舍五入的区别

在网上看到这篇写的不错的,不过有点乱,特意整理了一下转载过来向下取整的运算称为Floor,用数学符号⌊⌋表示;向上取整的运算称为Ceiling,用数学符号⌈⌉表示。例如:⌊59/60⌋=0⌈59/60⌉=1⌊-59/60⌋=-1⌈-59/60⌉=0向上向下 取整函数数只会对小数点

Centos5.5 安装Tesseract-OCR_weixin_34269583的博客-程序员信息网

为什么80%的码农都做不了架构师?>>> ...

Eclipse启动SpringToolSuite4启动报错问题解决办法Could not find 'tools.jar' in the active JRE_Bian_MCheng的博客-程序员信息网

Java开发千人交流群 677807540 大家可以一起讨论技术欢迎加入1.他意思说找不到当前路径下得tools.jar,需要将jdk中得tools.jar移动到jre中,如果jdk中没有需要找一个tools.jar2.jdk中得tools.jar3.移动到报错路径的JDK的lib下...

推荐文章

热门文章

相关标签