命令的2种替换形式 $()和 ``
示例:截断字符串
a):
#截取文件名称
var1=$(basename /home/aimybbe/bash/test.sh)
echo $var1
#截取目录
var2=$(dirname /home/aimybbe/bash/test.sh)
echo $var2
b):
var1=`basename /home/aimybbe/bash/test.sh`
echo $var1
var2=$(dirname /home/aimybbe/bash/test.sh)
echo $var2
更专业的字符串截取方法:
示例:testfile.tar.gz
a)获取后缀名
你想截取 tar.gz
filename=testfile.tar.gz
file=${filename#*.}
echo $file
你想截取 gz
filename=testfile.tar.gz
file=${filename##*.}
echo $file
说明:
这里的${filename##*.}什么意思呢?在 ${ } 中输入环境变量名称,两个##(或一个#),然后是通配符 ("*.")。
然后,bash 取得 filename,找到从字符串 "testfile.tar.gz"开始处开始、且匹配通配符 "*."的最长子字符串(或最短),然后将其从字符串的开始处截去。
注意:
1.#意思是从字符串的开始处开始截取。
2.两个##代表匹配的最大长度,一个#代表匹配的最小长度(也就是说这里不是一个#匹配一个‘.’)
b)获取文件名称(也就是去除后缀名)
你想截取testfile.tar
filename=testfile.tar.gz
file=${filename%.*}
echo $file
你想截取testfile
filename=testfile.tar.gz
file=${filename%%.*}
echo $file
注意:
1.这个方法和上面原理相同%就是从末尾字符串开始截取,%%就是最大长度,%就是最小长度
c)截取任意的字符
你想截取file
filename=testfile.tar.gz
file=${filename:4:4}
echo $file
你想截取test
filename=testfile.tar.gz
file=${filename:0:4}
echo $file
说明:
格式为${filename::}第一个':'后面的数字是字符串的索引从左边开始,索引从0开始,第二个':'后面的数字是长度,两处的数字都是十进制数值。
- 浏览: 90835 次
- 性别:
- 来自: 杭州
最新评论
-
sunflowerlb:
定义消费者(接收端)Java代码 <bean id=& ...
Spring整合JMS
相关推荐
NULL 博文链接:https://lujinan858.iteye.com/blog/437004
本文档是自己总结的关于 bash shell 的字符串的操作合集, 并生成了可以复制内容的pdf 以保持排版
bash写的字符串常用函数,这个可以看看。资源分就免了
该文档介绍了shell编程中对字符串处理的一些基本命令, 如sed, cut, awk等等
linux bash字符串处理大全,需要的朋友可以参考下
shell进行字符串截取 运行 ${GIT_COMMIT:0:6}报错: /tmp/jenkins7505855461406722507.sh: 4: /tmp/jenkins7505855461406722507.sh: Bad substitution 原因:两种shell语言解释器 bash和dash 查看当前/bin/sh ...
主要介绍了Bash Shell字符串操作总结,包含取长度、截取、查找位置、替换等等,需要的朋友可以参考下
需要对字符串查找其中某个字符最后出现的位置,这个在PHP (strrpos)或者Perl (rindex)里面都有现成函数可用的功能,在Shell里面居然一时想不出个道道来。在论坛上发贴也没人解答(不知道是问题太简单还是真的很高深...
第一、找出字符或者字符串的类型,是数字、字母还是其他特定字符,是可打印字符,还是不可打印字符(一些控制字符)。 第二、找出组成字符串的字符个数和字符串的存储结构(比如数组)。 第三、对串的常规操作:求子串、...
您可能感兴趣的文章:bash shell命令行选项与修传入参数处理Bash Shell 注释多行的几种方法bash批量修改文件名称的方法小结(增加,去除,修改后缀)bash 编程中循环语句用法BASH 学习笔记小结Bash Shell字符串操作小...
细绳 用Bash编写的字符串处理程序。使用它source path/to/string/source.bashawk -F : ' {print $5} ' /etc/passwd | string_title可用功能 string_camelcase_underscore string_lower 小写的字符串。 传递字符串...
1. 字符串声明 概述 字符串的基本操作 脚本 1 # 声明字符串 str01=str01 echo ${str01} # 单引号也可以 # 不过后面的例子, 通常是用 双引号, 具体原因, 以后会解释\nstr02='str02' echo ${str02} # 对引号的转义,...
bash官方手册/Bash Reference Manual
linux 服务器GNU Bash小于版本4.3有操作系统命令注入漏洞,需要对bash升级,下载解压 #tar zxvf bash-4.4.tar.gz #cd bash-4.4 #./configure (如果centos7编译失败,请先安装#yum install gcc) #make #make ...
BASH官方文档,BASH官方文档,BASH官方文档
bash 入门经典 不可不看哦 bash 入门经典 不可不看哦 bash 入门经典 不可不看哦
选中 Git Bash Here,右键新建(字符串值),并重命名为Icon,Icon的值设置为D:\Program Files\Git\mingw64\share\git\git-for-windows.ico 3.选中 Git Bash Here 右键新建(项),并重命名为command,command的值...
RHCERHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash bash