shell 截取变量的字符串
假设有变量 var=http://www.linuxidc.com/test.htm
一 # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.linuxidc.com/test.htm
二 ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.linuxidc.com/
结果是 test.htm
三 %号截取,删除右边字符,保留左边字符
echo ${var%} #显示结果sbin/ntpdate
3.2 由字符串前面开始对比删除最长的相符者
语法:${待测变量##样式}
实例:
filename="/usr/sbin/ntpdate"
echo ${filename##} #显示结果sbin/ntpdate
3.2 由字符串前面开始对比删除最长的相符者
语法:${待测变量##样式}
实例:
filename="/usr/sbin/ntpdate"
echo ${filename##/*/} #显示结果ntpdate
3.3 由字符串后面开始对比删除最短的相符者
语法:${待测变量%样式}
实例:
filename="/usr/sbin/ntpdate"
echo ${filename%/*} #输出结果/usr/sbin
3.4 由字符串后面开始对比删除最长的相符者
语法:${待测变量%%样式}
实例:
filename="hello/usr/sbin/ntpdate"
echo ${filename%%/*} #输出结果hello
4.替换或删除部分字符串
4.1 只替换找到的第一个字符串
语法:${待测变量/样式/替换}
实例:
str="hello hello"
echo ${str/hello/world} #结果为world hello
4.2 替换找到的所有样式字符串
语法:${待测变量//样式/替换}
实例:
str="hello hello"
echo ${str/hello/world} #结果为world world
4.3 删除第一个指定的字符串
语法:${待测变量/要删除的字符串/}
实例:
str="hello hello"
echo ${str/hello/} #结果为hello
4.4 删除所有指定的字符串
语法:${待测变量//要删除的变量/}
实例:
str="hello world hello"
echo ${str//hello/} #输出结果为world
5.命令扩展
语法:$(命令)
实例: time=$(date) 等价 time=`date`
6.算术扩展
语法:$((算术))
实例:
echo "a=$((5*5))" #结果为a=25
shell 截取变量的字符串的更多相关文章
- shell 截取变量的字符串(转)
来自:http://blog.sina.com.cn/s/blog_7c95e5850100zpch.html 假设有变量 var=http://www.linuxidc.com/test.htm 一 ...
- Linux Shell 高级变量及字符串
高级变量包含三个部分1.变量扩展2.命令替换3.算术扩展在Bash Shell中,$算符会触发到上述三种扩展,基本形式如下: 基本型 扩展种类 例子 ...
- shell 截取指定的字符串
按指定的字符串截取 1.第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ...
- shell截取字符串方法
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${parameter:?word}${p ...
- shell 之解释器、变量、字符串、数组
1.Shell简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...
- Linux Shell 截取字符串
Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...
- shell截取字符串的方法
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...
- shell截取指定字符串之间的内容
#!/bin/bash#截取字符串 #path=ss/usr/share/src/root/home/admin path=ss/usr/share/src/root/home/admin/src/a ...
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
随机推荐
- 耗时近一个月,终于录完了VUE.JS2.0前端视频教程!
这次课录制的比较辛苦,圣诞节时原本已经快录制完成了,偶然的一次,播放了一下,感觉不满意,好几篇推倒重来,所以今天才结束. vue.js2.0是Vue.JS的最新版本,视频教程还不多,如果你看到了,学到 ...
- python自定义迭代器对象以及可迭代对象
# coding=utf8 from collections import Iterator from collections import Iterable #迭代器对象 class OwnIter ...
- window下 nginx 80端口被占用
问题:启动nginx没有反应,查看日志提示 bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in ...
- VUE小案例--简易计算器
这个小案例主要时练习v-model的使用,功能并不完善 <!DOCTYPE html> <html lang="zh-CN"> <head> & ...
- JavaScript设计模式-组合模式(表单应用实现)
书读百遍其义自见 <JavaScript设计模式>一书组合模式在表单中应用,我问你答答案. 注:小编自己根据书中的栗子码的答案,如有错误,请留言斧正. 另:如有转载请注明出处,谢谢啦 &l ...
- 高级定时器-setTimeout()、setInterval()、链式setTimeout()
使用 setTimeout()和 setInterval()创建的定时器可以用于实现有趣且有用的功能.执行时机是不能保证的,因为在页面的生命周期中,不同时间可能有其他代码在控制 JavaScript ...
- 从0构建webpack开发环境(二) 添加css,img的模块化支持
在一个简单的webpack.config.js中,构建了一个基础的webpack.config.js文件,但是只支持js模块的打包. 本篇中添加对css和img的模块化支持 首先需要安装三个个load ...
- 【记录】eclipse jar包看不了源码
第一步:下载JAD . jad官方地址的官方下载地址是: http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasem ...
- linux性能分析工具Ntop
- (解决某些疑难杂症)Ubuntu16.04 + NVIDIA显卡驱动 + cuda10 + cudnn 安装教程
一.NVIDIA显卡驱动 打开终端,输入: sudo nautilus 在新打开的文件夹中,进入以下路径(不要用命令行): 左下角点计算机,lib,modules 这时会有几个文件夹,对每个文件夹都进 ...