Linux ${} 变量内容的提取和替换功能等

[[email protected] log]# var=/dir1/dir2/file.txt

1、对变量取值

[[email protected] log]# echo ${var}

/dir1/dir2/file.txt

2、求字符串的长度

[[email protected] log]# echo ${#var}

19

3、提取位置3到最后的字符

[[email protected] log]# echo ${var:3}

r1/dir2/file.txt

4、从位置3,开始提取5个字符

[[email protected] log]# echo ${var:3:5}

r1/di

5、从左边开始,删除最短匹配r,这里的*表示删除

[[email protected] log]# echo ${var#*r}

1/dir2/file.txt

6、从左边开始,删除最短匹配dir

[[email protected] log]# echo ${var#*dir}

1/dir2/file.txt

7、从左边开始,删除最短匹配数字,支持正则表达式

[[email protected] log]# echo ${var#*[0-9]}

/dir2/file.txt

8、从左边开始,删除最长匹配di,这里的*表示删除

[[email protected] log]# echo ${var##*di}

r2/file.txt

9、从右边开始,删除最短匹配di,注意:这里的*在后面。 #在$的左边,从左边开始,%在$的右边,从右边开始

[[email protected] log]# echo ${var%di*}

/dir1/

10、从右边开始,删除最短匹配di

[[email protected] log]# echo ${var%%di*}

/

11、用aa替换第一个匹配的di

[[email protected] log]# echo ${var/di/aa}

/aar1/dir2/file.txt

12、用bbb替换所有匹配的dir

[[email protected] log]# echo ${var//dir/bbb}

/bbb1/bbb2/file.txt

13、用bbb替换前缀/dir,注意:/本身需要使用转义字符

[[email protected] log]# echo ${var/#\/dir/bbb}

bbb1/dir2/file.txt

14、用bbb替换前缀le,注意:/本身需要使用转义字符

[[email protected] log]# echo ${var/%\le*.txt/bbb}

/dir1/dir2/fibbb

15、用bbb替换后缀2*.txt,支持正则表达式

[[email protected] log]# echo ${var/%2*.txt/bbb}

/dir1/dirbbb

时间: 2024-10-10 05:47:45

Linux ${} 变量内容的提取和替换功能等的相关文章

Shell与shellscript学习笔记之三(变量内容的删除、替代与替换)

1. 变量内容的删除与替换 #代表由前面开始删除,所以这里便由开始的/删起,*来代替0到无穷多个任意字符 %由后面向前删除变量内容 例如:echo ${path%:*bin}删除最有一个目录,即从:到bin为止的字符串并且是最短的 echo ${path/sbin/SBIN}:两个斜线中间的是旧字符,后面的是新字符 变量设置方式 说明 ${变量#关键字} 若变量内容从头开始的数据符合"关键字",则将符合的最短数据删除 ${变量##关键字} 若变量内容从头开始的数据符合"关键字

Shell变量内容的删除、替代与替换

Shell变量的删除: [email protected]:~$ path=${PATH}     ##设置path和PATH相同内容 [email protected]:~$ echo $path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games [email protected]:~$ echo ${path#/*sbin:}        ##加上'#'符号删除匹

文件内容替换功能

实现替换功能:分别传入文件名源字符串和要修改后的字符串,实现将文件内容源字符串被替换成修改后的字符串要求不产生新文件: import sys,os with open (sys.argv[1],'r') as fr open('a.txt.bak','w+') as fw: src_res=fr.read() dst_res=src_res.replace(sys.argv[2],sys.argv[3]) fw.write(dst_res) os.remove(sys.argv[1]) os.r

变量内容的删除、取代与替换

变量内容的删除与取代 1)${变量#关键词}:从变量开头开始检索与关键词匹配的数据,将匹配的最短数据删除. 例: [[email protected] abc]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [[email protected] abc]# echo ${PATH#*:} /usr/local/sbin:/usr/lo

linx下变量内容删除与替换

当一个变量被赋予值后,有时会对变量的值进行一些微小的调整,比如删除变量值中特定一部份,或替换掉一个特点的字符等,如下以举例来说明. 1.变量内容的删除 [[email protected] ~]# echo ${PATH} #呼叫出PATH变量的值 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin [[email protected] ~]# echo ${PAT

常见linux命令释义(第七天)——ulimit 与变量内容的删除替代与替换。

linux是一个多用户多任务的系统,不同于windows的单人多任务操作系统.再linux上,在同一个时间点上,可以有多个人同时执行多个任务. 那么假若有10个用户,同时打开了100个100M的文件.你觉得你的linux能够吃的消吗.你能任由其他的用户肆意的占用你的linux运行内存吗?如果你能忍受,现在你的机子估计已经宕机了.接下来我们来看看如何来限制用户的某些系统资源,包括可以打开的文件数量.可以使用的CPU时间,可以使用的内存总数量,如何设置呢? 试试ulimit吧.这ulimit命令也十

Linux变量内容的删除、取代与替换

变量内容的删除与取代 范例一:先让小写的 path 自定义变量配置的与 PATH 内容相同 [[email protected] ~]# path=${PATH} [[email protected] ~]# echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin: /usr/sbin:/usr/bin:/root/bin <==这两行其实是同一行啦! 范例二:假设我不喜欢

Linux变量内容的删除、代替与替换

变量内容的删除与代替 范例一:先让小写的 path 自己定义变量配置的与 PATH 内容同样 [[email protected] ~]# path=${PATH} [[email protected] ~]# echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin: /usr/sbin:/usr/bin:/root/bin <==这两行事实上是同一行啦! 范例二:如果我不

IDEA中的替换功能(替换代码中的变量名很好用哦)

刚刚上班不久,这两天正在研究公司项目里面的代码,今天用阿里的插件扫描了一下代码,发现代码中有很多变量的命名,没有遵循驼峰式的命名规则.一开始我一个一个的修改这些变量名,后来无意中用了一下Ctrl+F(搜索功能),后来又无意用了一下替换功能,真的是好用的不行.废话不多,上图. 选中该变量按Ctrl+F,然后点击图中的②按钮,就能选中代码中所有出现的这个变量,然后就可以进行更改了.只需要更改一个,其余的变量就都更改了. 原文地址:https://www.cnblogs.com/zhaoqipengb