假设有变量 var=http://www.google.com/test.htm

一 # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.google.com/test.htm

二 ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.google.com/         
结果是 test.htm

三 %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.google.com

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

echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:

五 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:

六 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.google.com/test.htm

七 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:test

八 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:test.htm

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

  1. shell判断文件,目录是否存在或者具有权限
  2. #!/bin/sh
  3. myPath="/var/log/httpd/"
  4. myFile="/var /log/httpd/access.log"
  5. #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
  6. if [ ! -x "$myPath"]; then
  7. mkdir "$myPath"
  8. fi
  9. #这里的-d 参数判断$myPath是否存在
  10. if [ ! -d "$myPath"]; then
  11. mkdir "$myPath"
  12. fi
  13. #这里的-f参数判断$myFile是否存在
  14. if [ ! -f "$myFile" ]; then
  15. touch "$myFile"
  16. fi
  17. #其他参数还有-n,-n是判断一个变量是否是否有值
  18. if [ ! -n "$myVar" ]; then
  19. echo "$myVar is empty"
  20. exit 0
  21. fi
  22. #两个变量判断是否相等
  23. if [ "$var1" = "$var2" ]; then
  24. echo '$var1 eq $var2'
  25. else
  26. echo '$var1 not eq $var2'
  27. fi

转自:http://blog.csdn.net/wong_judy/article/details/6640106

转:inux shell脚本的字符串截取相关推荐

  1. linux 正则截取字符串,Linux的Shell脚本——day4——字符串截取、正则

    零散知识点 ftp操作: ftp 服务器IP  连接ftp,可以进行交互操作 注意搭建ftp服务是vsftpd,要区别 特殊的一个常用 ${#变量}  统计变量的长度位数 脚本中对一个文件进行撰写 c ...

  2. Linux shell脚本的字符串截取

    假设有变量 var=http://www.hao.com/123.htm 一. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// ...

  3. linux shell 脚本中 字符串截取并赋值引用

    mkdir -p /data/www/flowbilling/`echo ${arr[0]%/*}|sed 's/\/home\/www\/flowbilling-report\/TuikuanIam ...

  4. Shell脚本中字符串的一些常用操作

    Shell脚本中字符串的一些常用操作 字符串长度 ${#string}可以获得${string}的长度 例子: string='How are you' echo ${#string} # 输出结果为 ...

  5. Shell脚本分割字符串

    Shell脚本分割字符串 以字符进行切割时: 从字符串左边开始计数 如果想从字符串的左边开始计数,那么截取字符串的具体格式如下: ${string: start :length} 其中,string ...

  6. (38)Shell脚本【字符串运算:相等判断】

    (38)Shell脚本[字符串运算:相等判断] 1 目录 1.1 Shell脚本简介 1.2 Shell脚本文件 1.3 Shell脚本作用 1.4 Shell运行环境 1.5 Shell脚本[字符串 ...

  7. shell中(字符串截取)

    cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? cut命令主要是接 ...

  8. shell 脚本比较字符串相等_shell字符串比较判断是否为数字

    shell字符串比较判断是否为数字 更新时间:2013年01月23日 17:39:14   作者: 本文阐述:shell中整数比较方法及字符串的比较方法,如等于,不等于,大于,大于等于,小于,等等 二 ...

  9. shell 脚本比较字符串相等_比较带空格的字符串相等的Shell脚本 如何比较两个.....

    ****************************比较带空格的字符串相等的Shell脚本*************************** 如果要比较的字符串中间有空格,可以用下面的程序(摘 ...

最新文章

  1. 反汇编算法介绍和应用——递归下降算法分析
  2. python svm超参数_grid search 超参数寻优
  3. 3.1.7 封装的应用
  4. pycharm和python区别-python与pycharm有何区别
  5. scapy安装and简介
  6. 用Go语言建立一个简单的区块链part6(2):交易(2)
  7. python 释放内存_学了4年C++后,我转向了Python
  8. iOS开发之MapKit
  9. 从事测试的第6年 , 开工第二天五千字总结..我不平凡的2021
  10. 设计模式——建造者模式 1
  11. Understanding Bootstrap Of Oracle Database
  12. 伦敦时间现在几点_英国伦敦时间现在几点钟(英国时差和中国差几个小时)
  13. 安庆集团-冲刺日志(第一天)
  14. 如何计算机械能增加量,探讨优化验证机械能守恒定律实验中动能增加量的计算方法...
  15. ubuntu16.04 安装hustoj 最新【亲测,附带常见问题解决】
  16. html图片滤色,css--图片处理
  17. 1e9个兵临城下 - 容斥原理
  18. 软件测试/测试开发丨Docker 容器技术与常用命令
  19. 华为慧通面试后----我的首篇blog
  20. 使用腾讯云clb实现https转发

热门文章

  1. [optee]-optee中的异常向量表的实现
  2. 别问我SolarWinds Orion API怎么用,自己进来看看,看完还不会来骂我
  3. 【开源】WeChatRobot+WeChatHelper 制作自己的微信机器人
  4. MySQL数据库恢复(LOAD DATA)
  5. CSS3构建左侧导航栏
  6. 2.4.2 死锁的处理策略-预防死锁
  7. 2.1.2 进程的状态与转换
  8. ppt的一些基础操作
  9. Spring boot日志框架
  10. Mybatis的selectKey使用