bash自带的切片操作的实现

 更新时间:2025年09月09日 08:28:51   作者:Code Rhythm  
本文主要介绍了bash自带的切片操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文主要介绍了 bash自带的切片操作的实现,具体如下:

echo ${#a} 	# $a中字符串的个数
echo ${a:3} 	# $a中从第三个开始取直到结束
echo ${a:3:2}	# $a中从第三个开始去两个字符
echo ${a: -1}	# 取最后一个字符
echo ${a#*.} 	# 从左边开始删除直到遇到.为止
echo ${a##*.} 	# 从左边开始删除直到遇到最后一个.为止
echo ${a%.*}	# 从右面开始删除直到遇到.为止
echo ${a%%.*}	# 从右面开始删除直到遇到最后一个.为止
echo ${a//abc/xyz}	# 将变量a中的所有的abc替换成xyz
echo ${1#--check=}  #删除第1个位置变量里的--check=字符串
echo ${1##[-+]}   #删除第1个位置变量的内容开头的-或者+

cut 截取字符串
-c, --characters=LIST
select only these characters
- 表示连续
, 表示不连续

[root@rocky ~]# str="pythoniloveyou"
[root@rocky ~]# echo $str
pythoniloveyou
[root@rocky ~]# echo $str|cut -c 1-6
python
[root@rocky ~]# echo $str|cut -c 1,6
pn
[root@rocky ~]# echo $str|cut -c 1,6-9
pnilo

统计一个字符串的个数

[root@rocky ~]# echo ${#str}
14
[root@rocky ~]# echo $str|wc -L
14

截取

[root@rocky ~]# echo ${str:0:6}
python
[root@rocky ~]# echo ${str:7:4}
love
[root@rocky ~]# echo ${str: -3}
you

从左边开始删除直到遇到.为止

[root@rocky ~]# bigcity="beijing.shanghai.guangzhou.shenzhen.changsha"
[root@rocky ~]# echo ${bigcity#*.}
shanghai.guangzhou.shenzhen.changsha
[root@rocky ~]# echo ${bigcity##*.}
changsha

从右面开始删除直到遇到.为止

[root@rocky ~]# echo ${bigcity%.*}
beijing.shanghai.guangzhou.shenzhen
[root@rocky ~]# echo ${bigcity%%.*}
beijing

删除第一个位置变量的内容开头的-或者+

[root@rocky shell]# vim slice.sh
echo ${1##[-+]}

[root@rocky shell]# bash slice.sh abc+def-ghi+jkl-mno
abc+def-ghi+jkl-mno
[root@rocky shell]# bash slice.sh +abc+def-ghi+jkl-mno
abc+def-ghi+jkl-mno
[root@rocky shell]# bash slice.sh -abc+def-ghi+jkl-mno
abc+def-ghi+jkl-mno

删除第一个位置变量里的 --check=字符串

[root@rocky shell]# cat slice.sh 
echo ${1##[+-]}
echo ${1#--check=}
[root@rocky shell]# bash slice.sh --check=root
-check=root
root

如果nicelevel变量存在就输出它的值,如果没有赋值,则输出空值

[root@rocky shell]# nicelevel=100
[root@rocky shell]# echo ${nicelevel:-}
100

如果niceleve1l变量存在就输出它的值,如果没有赋值,则输出0

[root@rocky shell]# echo ${nicelevel1:-}

[root@rocky shell]# echo ${nicelevel1:-0}
0

替换

[root@rocky shell]# num="123123456123"
[root@rocky shell]# echo ${num/123/abc}
abc123456123
[root@rocky shell]# echo ${num//123/abc}
abcabc456abc

到此这篇关于bash自带的切片操作的实现的文章就介绍到这了,更多相关bash 切片操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • shell监控脚本实例—监控mysql主从复制

    shell监控脚本实例—监控mysql主从复制

    分享一例shell脚本,用于监测mysql数据库的主从复制,有需要的朋友不妨参考学习下
    2013-11-11
  • awk脚本统计一组单词中字母出现最多最少频率

    awk脚本统计一组单词中字母出现最多最少频率

    这篇文章主要介绍编写一个 awk 脚本来找到一组单词中出现次数最多(和最少)的单词频率,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Linux服务器安全清理垃圾文件的命令详解

    Linux服务器安全清理垃圾文件的命令详解

    在这现代的岁月,数码世界日益发展,凡是涉及计算,必然离不开那浩如烟海的数据,庞大如巨鲸的文件,若将目光转向我们的服务器,尤其是 Linux 服务器,垃圾文件的积累便如那墙角的蛛网,本文就给大家聊聊如何在 Linux 服务器上安全地清理垃圾文件,需要的朋友可以参考下
    2024-06-06
  • Linux Shell 脚本编程入门教程

    Linux Shell 脚本编程入门教程

    Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),Shell是用户与Linux操作系统沟通的桥梁,对本文感兴趣的朋友一起看看吧
    2015-11-11
  • shell统计pv和uv、独立ip的方法

    shell统计pv和uv、独立ip的方法

    这篇文章主要介绍了shell统计pv和uv、独立ip的方法,需要的朋友可以参考下
    2014-04-04
  • shell 备份数据库、代码上线的脚本

    shell 备份数据库、代码上线的脚本

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。这篇文章主要介绍了shell脚本之备份数据库、代码上线,需要的朋友可以参考下
    2020-02-02
  • linux shell判断字符串为空的正确方法示例

    linux shell判断字符串为空的正确方法示例

    这篇文章主要给大家介绍了关于linux shell判断字符串为空的正确方法,文中通过示例代码介绍的非常详细,对大家学习或者使用linux shell具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 浅析Shell中的定时任务 crontab

    浅析Shell中的定时任务 crontab

    crondtab进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。这篇文章主要介绍了Shell中的定时任务 crontab,需要的朋友可以参考下
    2019-12-12
  • 每天学一个 Linux 命令之more命令

    每天学一个 Linux 命令之more命令

    more命令,功能类似 cat ,more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能
    2016-12-12
  • linux命令详解之chkconfig命令使用方法

    linux命令详解之chkconfig命令使用方法

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接,下面看一下它是如何使用的
    2014-01-01

最新评论