linux shell 脚本中变量截取

简介: linux shell 脚本中变量截取

Linux字符串截取命令

转载 https://www.cnblogs.com/dalianpai/p/12702237.html

今天再写shell的时候,感觉字符串截取不是特别顺利,最后用切割字符串获取的,就随便整理一些

定义变量

[root@iZ1la3d1xbmukrZ ~]# net=https://www.cnblogs.com/dalianpai/
[root@iZ1la3d1xbmukrZ ~]#

1、 # 号截取,删除左边字符,保留右边字符。

[root@iZ1la3d1xbmukrZ ~]# echo ${net#*//}
www.cnblogs.com/dalianpai/
[root@iZ1la3d1xbmukrZ ~]#

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://

2、 ## 号截取,删除左边字符,保留右边字符。

[root@iZ1la3d1xbmukrZ ~]# echo ${net##*/}

[root@iZ1la3d1xbmukrZ ~]#

##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符即删除 整个

3、 %号截取,删除右边字符,保留左边字符

[root@iZ1la3d1xbmukrZ ~]# echo ${net%/*}
https://www.cnblogs.com/dalianpai
[root@iZ1la3d1xbmukrZ ~]#

%/* 表示从右边开始,删除第一个 / 号及右边的字符

4、 %% 号截取,删除右边字符,保留左边字符

[root@iZ1la3d1xbmukrZ ~]# echo ${net%%/*}
https:
[root@iZ1la3d1xbmukrZ ~]#

%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符

5、 从左边第几个字符开始,及字符的个数

[root@iZ1la3d1xbmukrZ ~]# string="runoob is a great site"
[root@iZ1la3d1xbmukrZ ~]# echo ${string:0:${#string}-4}
runoob is a great

其中的 0 表示左边第一个字符开始

6、 从左边第几个字符开始,一直到结束。

[root@iZ1la3d1xbmukrZ ~]# echo ${net:7}
/www.cnblogs.com/dalianpai/
[root@iZ1la3d1xbmukrZ ~]#

其中的 7 表示左边第8个字符开始,一直到结束。

7、 从右边第几个字符开始,及字符的个数

[root@iZ1la3d1xbmukrZ ~]# echo ${net:0-7:3}
ian
[root@iZ1la3d1xbmukrZ ~]#

其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。

8、 从右边第几个字符开始,一直到结束。

[root@iZ1la3d1xbmukrZ ~]# echo ${net:0-7}
ianpai/
[root@iZ1la3d1xbmukrZ ~]#

表示从右边第七个字符开始,一直到结束。

注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

相关文章
|
6天前
|
安全 Shell Linux
探索Linux命令chsh:更改用户的默认shell
`chsh`是Linux命令,用于更改用户的默认登录shell。它涉及用户环境配置和系统安全,允许用户选择更适合自己的shell以提升效率。命令有交互式选项和参数如`-s`来指定新shell。在使用时要注意新shell的可执行性、权限问题及选择合适的shell。例如,要更改为bash,用户可运行`chsh`后按提示操作,而root用户能用`sudo chsh -s /bin/zsh john`为用户`john`设定zsh。在更改前,确认shell路径、权限,并了解不同shell的特点。
|
6天前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
11天前
|
Shell
shell脚本
shell脚本
14 2
|
11天前
|
Linux 开发工具
Linux下视频截取命令 使用【ffmpeg】使用
Linux下视频截取命令 使用【ffmpeg】使用
11 1
|
19天前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
|
19天前
|
Ubuntu Shell Linux
linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
|
1月前
|
运维 Java Shell
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
99 0
|
1月前
|
Shell Linux
Linux使用Shell脚本SCP批量传输脚本
Linux使用Shell脚本SCP批量传输脚本
88 0
|
1月前
|
Shell Linux 网络安全
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
66 0
|
1月前
|
Shell Linux Perl
将 Linux 系统中 UID 大于等于 1000 的普通用户都删除shell脚本
将 Linux 系统中 UID 大于等于 1000 的普通用户都删除shell脚本
54 1