首页 > 系统相关 > Linux扩展篇-shell编程(八)-shell字符串截取

Linux扩展篇-shell编程(八)-shell字符串截取

时间:2023-06-25 17:33:05浏览次数:61  
标签:字符 shell string chars start Linux 字符串 截取

shell字符串截取,一般包含从指定位置和从指定字符截取。

一、从指定位置截取

  1. 从字符串左边开始计数
    格式:
    ${string: start :length}
    从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。
    ${string: start}
    从 string 字符串的左边第 start 个字符开始截取,直到最后。

  2. 从字符串右边开始计数
    格式:
    ${string: 0-start :length}
    从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。
    ${string: 0-start}
    从 string 字符串的右边第 start 个字符开始截取,直到最后。

二、从指定字符截取

  1. 使用 # 号截取右边字符
    格式:
    ${string#*chars}
    从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
    ${string##*chars}
    从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。

  2. 使用 % 号截取左边字符
    ${string%*chars}
    从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。
    ${string%%*chars}
    从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。

总结

最后,我们对以上的8种格式做个总结,如下表所示:

参考:
http://c.biancheng.net/view/1120.html

标签:字符,shell,string,chars,start,Linux,字符串,截取
From: https://www.cnblogs.com/cavan2021/p/17484032.html

相关文章

  • linux文件系统和设备驱动+file结构体
    1,文件系统和设备驱动之间的关系 1)应用程序和VFS之间是系统调用;2)VFS与文件系统以及设备文件之间的接口是file_operations结构体成员函数,这个结构体可以对文件进行打开,读写,定位,控制等操作;如下图所示: 3)由于字符设备的上层没有类似磁盘的ext2等文件系统,所以字符设备的file_opte......
  • 配置vnc远程连接Linux和unix服务器图形界面安装Oracle
    1、配置并开启vnc服务[oracle@localhost~]$vncserverYouwillrequireapasswordtoaccessyourdesktops.Password:---这里要求输入vnc客户端登录的密码并重复Verify:New'localhost.localdomain:2(oracle)'desktopislocalhost.localdo......
  • How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/U
    HowtorestoreASMbasedOCRaftercompletelossoftheCRSdiskgrouponLinux/Unixsystems[ID1062983.1]--------------------------------------------------------------------------------修改时间12-FEB-2012类型HOWTO状态PUBLISHEDInthis......
  • Linux从文件中逐行读取文件名并将匹配的文件复制到指定目录
    问题应该算挺常见的但是一句话还挺难说清楚,所以百度特别难搜。场景就是,有一堆以员工名称命名的文件(名称可能还有字母数字等前后缀),现在给定一个员工清单,需要从这些文件中筛选出员工清单上列出的员工的文件,并复制到另外一个目录中。输入:1.许多文件名包含员工名称的文件2.一个清......
  • 如何刷新 DNS 缓存 (macOS, Linux, Windows)
    如何刷新DNS缓存(macOS,Linux,Windows)UnixLinuxWindows如何刷新DNS缓存(macOS,FreeBSD,RHEL,CentOS,Debian,Ubuntu,Windows)请访问原文链接:https://sysin.org/blog/how-to-flush-dns-cache/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org刷新或者......
  • Linux 如何刷新 DNS 缓存
    Linux如何刷新DNS缓存全文:如何刷新DNS缓存(macOS,Linux,Windows)UnixLinuxWindows如何刷新DNS缓存(macOS,FreeBSD,RHEL,CentOS,Debian,Ubuntu,Windows)请访问原文链接:https://sysin.org/blog/how-to-flush-dns-cache/,查看最新版。原创作品,转载请保留出处。......
  • Linux 服务器CPU超高如何快速定位
    Linux服务器CPU超高如何快速定位原创 senfel 架构集结号 2023-02-2411:07 发表于四川收录于合集#故障排查5个前言在生产环境中有时会遇见服务器CPU超高的问题,特别是重大版本发布后如果有内存泄露很容出现CPU超高,严重可能会达到100%。现在我们使用的服务器都是多核......
  • 六、kubernetes网络-linux网络虚拟化(二)
    1.6初识Linux隧道:ipip前文介绍的tun设备也叫作点对点设备,之所以叫这个名字,是因为tun经常被用来做隧道通信(tunnel)。我们可以通过命令iptunnelhelp查看IP隧道的相关操作。Linux原生支持下列5种L3隧道:·ipip:即IPv4inIPv4,在IPv4报文的基础上封装一个IPv4报文;·GRE:即通用路由封装......
  • Linux 导入
    Linux导入大纲发展历史系统目录结构Shell之Bash常用命令分享发展历史Unix和LinuxUnix操作系统在20世纪60年代构思完成并实现,并在1970年首次发布。由我们的C语言之父,丹尼斯·里奇和肯·汤普逊自行开发。它因容易获取与可移植性高而广泛被学术机构和工商企业采用、......
  • 创建Linux快捷指令
    要创建Linux快捷指令,可以按照以下步骤进行操作:1.打开命令行终端,进入你想要存储快捷指令的目录。2.创建一个新文件,文件名为你想要的快捷指令名称,例如myshortcut。使用文本编辑器打开这个新文件并添加你要执行的命令。例如,如果你想要创建一个叫做myshortcut的指令,当你运行它时会......