#!/bin/bash

#定义变量赋值时等号两边不能有空格,否则会报命令不存在  

# 运行shell脚本两种方式
# 1、作为解释参数 /bin/sh test.sh ;  2、作为可执行文件 chmod +x ./test.sh
blog_url='http://www.cnblogs.com/Bighua/p/7535900.html'
# 1、 #号截取,从左往右删除从0开始到第一个匹配条件('//')部分,保留剩下部分
echo ${blog_url#*//}
#运行结果 如下  www.cnblogs.com/Bighua/p/7535900.html

#2、  ##号截取,从左往右删除从0开始到最后一个匹配条件('/')部分,保留剩下部分
echo ${blog_url##*/}
#运行结果如下  7535900.html

#3、 %号截取,从右往左删除从#blog_url开始到第一个匹配条件('/')部分,保留剩下部分
echo ${blog_url%/*}
# 运行结果如下 http://www.cnblogs.com/Bighua/p

#4、 %%号截取,从右往左删除从#blog_url开始到最后一个匹配条件('/')部分,保留剩下部分
echo ${blog_url%%/*}
# 运行结果如下 http:

#5、从左边第几个开始截取几个字符
echo ${blog_url:0:7}
# 运行结果如下 http://

#6、从左边第几个字符开始到结束
echo ${blog_url:7}
# 运行结果如下 www.cnblogs.com/Bighua/p/7535900.html

#7、从右边起数第几个字符为起点,从左往右截取几个字符
echo ${blog_url:0-7:2}
# 运行结果如下 00

#8、从右起第几个字符开始为起点,一直到结尾
echo ${blog_url:0-4}
# 运行结果 html

Linux Bash Shell字符串截取的更多相关文章

  1. Linux 的shell 字符串截取很有用。有八种方法。

    一 Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.linuxidc.com/123.htm 1  # 号截取,删除左边字符,保留右边字符. echo ${va ...

  2. Linux Bash Shell字符串分割substring等(转)

    原文https://blog.csdn.net/wuyinggui10000/article/details/52779364 脚本开发中遇到的问题是:原java中的字符串分割操作(substring ...

  3. 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法

    linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法   linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...

  4. linux BASH shell设置字体与背景颜色

    linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色  echo -e "\e[31mtest\e[41m"  \e[30m 将字 ...

  5. Linux脚本shell字符串处理

    Linux脚本shell字符串处理,基本都有了,看着搜吧 TLDP教堂 shell中if条件字符串.数字比对,[[ ]]和[ ]区别 Linux 之 shell 比较运算符 Linux Shell编程 ...

  6. Linux Bash Shell常用快捷键

    Linux Bash Shell常用快捷键 table { margin: auto } 快捷键 功能 tab 补全 ctrl + a 光标回到命令行首 ctrl + e 光标回到命令行尾 ctrl ...

  7. Linux bash shell All In One

    Linux bash shell All In One Linux https://tinylab.gitbooks.io/shellbook/content/zh/chapters/01-chapt ...

  8. linux bash shell & lsof & grep & ps

    linux bash shell & lsof & grep & ps lsof list all open files # lsof & grep $ lsof -P ...

  9. Linux shell字符串截取与拼接

    一 Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.linuxidc.com/123.htm 1  # 号截取,删除左边字符,保留右边字符. echo ${va ...

随机推荐

  1. python专题-Mysql数据库(python2._+ Mysqldb)

    Python使用MySQL数据库 MySQLdb驱动从2014年1月停止了维护. Python2 MySQLdb 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安 ...

  2. c++ new 的相关

    首先是一个链接  这里 说的很详细了 http://www.cnblogs.com/alephsoul-alephsoul/archive/2012/10/17/2728019.html 关于c++ ...

  3. 广度优先搜索(BFS)——迷宫的最短路径

    宽度优先搜索按照距开始状态由近到远的顺序进行搜索,因此可以很容易的用来求最短路径,最少操作之类问题的答案. 宽度优先搜索介绍(一篇不错的文章). 题目描述: 给定一个大小为N*M的迷宫.迷宫有通道和墙 ...

  4. myeclipse eclipse创建maven web项目时 index.jsp报错

    第一种办法 解决办法: ---------------------------------------------------------------------------------------- ...

  5. 递归的二叉查找树Java实现

    package practice; public class TestMain { public static void main(String[] args) { int[] ao = {50,18 ...

  6. Ajax异步请求模板

    $.ajax({ url: '', type: 'post', data: {'id':id}, dataType: 'json', success: function(data,statusText ...

  7. Redis在java中的使用

    1.首先安装Redis环境.可以在Windows.linux.别的服务器上搭建Redis环境 2.在java工程中导入必须的jar包 如maven上导入两个jar] <!-- Redis必须包 ...

  8. 利用HTML5的window.postMessage实现跨域通信

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp77   HTML5的window.postMessage简述 postM ...

  9. Servlet总结一

    Servlet总结一 HttpServlet 想要实现一个servlet必须继承这个类,其实一个servlet就是一个java文件,但是这个类必须是继承HttpServlet. 生命周期 servle ...

  10. Java线程:线程栈模型

    要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型. 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶.线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运 ...