Linux Bash Shell字符串分割substring等(转)
原文https://blog.csdn.net/wuyinggui10000/article/details/52779364
脚本开发中遇到的问题是:原java中的字符串分割操作(substring indexOf等)不知道怎么处理(比如/a/b/c/d.txt我想知道文件的名称)
查询相关资料得知,shell中可以采用标识符来做分割字符串,包括substring(0,index)和substring(index,last)
${var#*substr}会删除从0到substr子字符串最后出现的位置
${var##*substr}会删除substr开始到字符串结束的位置
${var%substr*}会删除字符串最后一次出现到字符串结束的位置的部分
${var%%substr*}会删除字符串第一次出现到结束的部分
- a="/a/b/c/d.txt"
- b="/"
- echo ${a#*$b}
会返回
a/b/c/d.txt
- a="/a/b/c/d.txt"
- b="/"
- echo ${a##*$b}
会返回
d.txt
- a="/a/b/c/d.txt"
- b="/"
- echo ${a%$b*}
会返回
/a/b/c
- a="/a/b/c/d.txt"
- b="/"
- echo ${a%%$b*}
会返回空
Linux Bash Shell字符串分割substring等(转)的更多相关文章
- 【Linux】shell字符串分割、数组访问、条件判断
参考资料: shell字符串分割再循环:http://www.shangxueba.com/jingyan/1633455.html linux shell中 if else以及大于.小于.等于逻辑表 ...
- Linux Bash Shell字符串截取
#!/bin/bash#定义变量赋值时等号两边不能有空格,否则会报命令不存在 # 运行shell脚本两种方式 # 1.作为解释参数 /bin/sh test.sh ; 2.作为可执行文件 chmo ...
- 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法 linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...
- linux BASH shell设置字体与背景颜色
linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字 ...
- Linux脚本shell字符串处理
Linux脚本shell字符串处理,基本都有了,看着搜吧 TLDP教堂 shell中if条件字符串.数字比对,[[ ]]和[ ]区别 Linux 之 shell 比较运算符 Linux Shell编程 ...
- Linux Bash Shell常用快捷键
Linux Bash Shell常用快捷键 table { margin: auto } 快捷键 功能 tab 补全 ctrl + a 光标回到命令行首 ctrl + e 光标回到命令行尾 ctrl ...
- Linux bash shell All In One
Linux bash shell All In One Linux https://tinylab.gitbooks.io/shellbook/content/zh/chapters/01-chapt ...
- linux bash shell & lsof & grep & ps
linux bash shell & lsof & grep & ps lsof list all open files # lsof & grep $ lsof -P ...
- Linux Bash Shell 快速入门
BASH 的基本语法 最简单的例子 —— Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1 ...
随机推荐
- tcp滑动窗口详解(2)
http://blog.csdn.net/yujun00/article/details/636495 ARQ与滑动窗口概念 滑动窗口协议,是TCP使用的一种流量控制方法.该协议允许发送方在停止并等 ...
- coursera-斯坦福-机器学习-吴恩达-笔记week1
1 Introduction 1.1 概念:一个程序被认为能从经验E中学习,解决任务 T,达到性能度量值P,当且仅当, 有了经验E后,经过P评判, 程序在处理 T 时的性能有所提升. 1.2 机器学习 ...
- okhttp请求文件异常解决方法
微信借口中获取素材的接口返回只是一个缓存的文件流 InputStream, 接口中请求永久图片素材返回的是 InputStream; 接口项目获取到 InputStream 可以直接通过文件流写到文件 ...
- MySQL 用户连接与用户线程
本文转载自公众号数据库随笔,作者happypig 微信看起来麻烦 pig已经好长一段时间没有分享文章了,有点对不起订阅的朋友.最近在做比较复杂跟困难的事情,也并不一定最终会有成果,因此必须对此沉默. ...
- L1-057 PTA使我精神焕发
以上是湖北经济学院同学的大作.本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在一行中按照样例输出,以惊叹号结尾. 输入样例: 无 输出样例: PTA shi3 wo3 ji ...
- JAVA 程序的基本语法
首先看我们的第一个java程序: public class HelloWorld { public static void main(String[] args) { System.out.print ...
- 二、fread与fwrite
fread 原型:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); 参数: ptr:数据存放地址 size:一个对象的 ...
- MySQL:视图
视图 一.视图的概述 1. 含义:是从数据库中一个或多个表中导出的虚拟表2. 作用:①简单化 ②安全性 ③逻辑数据独立性3. 注意:一个表可以由多个视图: 二.视图的创建 1. 总的语法形式 CREA ...
- 蓝牙协议分析(9)_BLE安全机制之LL Privacy
1. 前言 在上一篇文章[1]中,我们介绍了BLE的白名单机制,这是一种通过地址进行简单的访问控制的安全机制.同时我们也提到了,这种安全机制只防君子,不防小人,试想这样一种场景: A设备表示只信任B. ...
- What is the RESTful API ?
REST 是 RepresentationalStateTransfer 的缩写,一般中文译为 “表征状态转移”,Roy Thomas Fielding 在他2000年的PhD论文中发明了这个概念.首 ...