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

摘要:
[root@localhostlog]#var=/dir1/dir2/file.txt1、对变量取值[root@localhostlog]#echo${var}/dir1/dir2/file.txt2、求字符串的长度[root@localhostlog]#echo${#var}193、提取位置3到最后的字符[root@localhostlog]#echo${var:3}r1/dir2/file.t
[root@localhost log]# var=/dir1/dir2/file.txt
1、对变量取值
[root@localhost log]# echo ${var}
/dir1/dir2/file.txt
2、求字符串的长度
[root@localhost log]# echo ${#var}
19
3、提取位置3到最后的字符
[root@localhost log]# echo ${var:3}
r1/dir2/file.txt
4、从位置3,开始提取5个字符
[root@localhost log]# echo ${var:3:5}
r1/di
5、从左边开始,删除最短匹配r,这里的*表示删除
[root@localhost log]# echo ${var#*r}
1/dir2/file.txt
6、从左边开始,删除最短匹配dir
[root@localhost log]# echo ${var#*dir}
1/dir2/file.txt
7、从左边开始,删除最短匹配数字,支持正则表达式
[root@localhost log]# echo ${var#*[0-9]}
/dir2/file.txt
8、从左边开始,删除最长匹配di,这里的*表示删除
[root@localhost log]# echo ${var##*di}
r2/file.txt
9、从右边开始,删除最短匹配di,注意:这里的*在后面。 #在$的左边,从左边开始,%在$的右边,从右边开始
[root@localhost log]# echo ${var%di*}
/dir1/
10、从右边开始,删除最长匹配di
[root@localhost log]# echo ${var%%di*}
/
11、用aa替换第一个匹配的di
[root@localhost log]# echo ${var/di/aa}
/aar1/dir2/file.txt
12、用bbb替换所有匹配的dir
[root@localhost log]# echo ${var//dir/bbb}
/bbb1/bbb2/file.txt
13、用bbb替换前缀/dir,注意:/本身需要使用转义字符
[root@localhost log]# echo ${var/#/dir/bbb}
bbb1/dir2/file.txt
14、用bbb替换前缀le,注意:/本身需要使用转义字符
[root@localhost log]# echo ${var/%le*.txt/bbb}
/dir1/dir2/fibbb
15、用bbb替换后缀2*.txt,支持正则表达式
[root@localhost log]# echo ${var/%2*.txt/bbb}
/dir1/dirbbb

免责声明:文章转载自《Linux ${} 变量内容的提取和替换功能等》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JavaNIO学习一SQL GUID和自增列做主键的优缺点下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

nginx启动失败 Starting nginx nginx [fail]

nginx -t :测试配置文件是否有语法错误 看看报什么错误,我的是忘记给权限了 nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)...

zabbix触发器详解

Trigger函数 1、abschange       参数:直接忽略后边的参数       支持值类型:float、int、str、text、log       描述:返回最近获取到的值与之前值的差值的绝对值。对于字符串类型,0表示值相等,1表示值不同       例如:{www.zabbix.com:vfs.fs.zise[/,free].abscha...

Linux静默安装matlab

对linux系统不是很熟,所有装起来有点费劲。来来回回折腾了二三天,查了很多攻略,但按照步骤老是报错,大体上各人设备不同、系统不同、环境设置不同,总是会多多少少略有差异。 一 基本配置 linux系统 matlab2016b 在shell里面进行操作,无图形界面 二 安装步骤 1 下载安装包,这个就不多说。直接将DVD1和DVD2解压缩至一个文件夹XXX,...

ubuntu中minicom安装和使用

想要对嵌入式开发板进行开发和操作,都需要进行文件传输或者是控制,这时基本都是需要通过串口线或者是网线进行连接的,在Windows下是使用超级终端通过串口对开发板进行操作的,而在Linux下,最后最常见的串口调试工具就是minicom。minicom的安装过程还是比较简单的,对于操作过程也就是一个熟悉的过程,在其中的操作都是字符界面下的,只要知道熟悉,就能熟...

VSFTP服务

概述: FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP(File Transfer Protocol: 文件传输协议)作用: Internet 上用来传送文件的协议 常见FTP服务器: windows:Serv-U FTP Server L...

设置linux文件权限,使得同一用户组的可以在文件夹内自由增删文件(夹)

新添用户时设置权限 新增用户的时候设置用户所属组,将想要一起的用户设置到一个组内 usermod -g 用户组 用户名 #这里将用户的主组设置为这个总组,这里为了再之后创建文件的时候文件所属组为这个组 (or) usermod -aG 用户组 用户名 #如果不设置为主组的话,可以增到附属组里去,只要都在一个附属组也可以操...