Linux下的shell脚本的字符串截取

1 #! /bin/bash

2

3 str="http://www.baidu.com/test.htm"

4

5 #echo ${str}

运行结果为:http://www.baidu.com/test.htm

方法一:#截取,删除左边字符,保留右边字符

echo ${str#*//}

#*//表示从左边删除第一个//号及左边的所有字符,即删除http://

运行结果为:www.baidu.com/test.htm

方法二:##截取,删除左边字符,保留右边字符

echo ${str##*/}

##*/表示删除最后一个/(即最右边的/)及左边所有的字符

运行结果为:test.htm

方法三:%截取,删除右边字符,保留左边字符

echo ${str%/*}

%/*表示从最右边开始,删除第一个/及右边的所有字符

运行结果为:http://www.baidu.com

方法四:%%截取,删除右边字符,保留左边字符

echo ${str%%/*}

%%/*表示删除从右边开始的最后一个/(最左边的/开始)及右边的所有字符

运行结果:http:

方法五:从左边第几个字符开始,及字符的个数

echo ${str:0:5}

0表示从左边的第一个字符开始,5表示总共的字符个数

运行结果为:http:

方法六:从坐标的第几个字符开始一直到字符串结束

echo ${str:7}

7表示从字符串的第八个字符开始一直到字符串结束

运行结果为:www.baidu.com/test.htm

方法七:从右边第几个字符开始及字符的个数

echo ${str:0-7:3}

0-7表示从右边的第几个字符开始,3表示字符的个数

运行结果为:est

方法八:从右边的第几个字符开始一直到结束

echo ${str:0-7}

表示从右边第七个字符开始,一直到结束

运行结果为:est.htm

时间: 2024-08-19 14:13:49

Linux下的shell脚本的字符串截取的相关文章

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句 一:实验环境 1):虚拟机 2):linux系统 二:实验目标 1): shell 基本语法 2):变量 3):表达式 4):判断语句 5): if表达式 三:实验脚本 第一块 一个简单的shell脚本程序 [[email protected] ~]# mkdir test [[email protected] test]# vim example1.sh #!/bin/bash #This is to show wha

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi

2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ggggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzzz

Linux Shell脚本编程--字符串截取

Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符. echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个

shell脚本之——字符串截取

在C/C++中,如果想要对一个字符串进行截取,可以通过操作下标或者指针来完成,而在shell脚本中,如果想要对一个字符串进行指定的截取,有多种方法可以来完成: 如下举例均用:STR="hi/i/am/just/a/string" ${STR#*char} 表示从左开始删除第一个char左边的所有字符,截取右边的字符串 #!/bin/bash STR=hi/i/am/just/a/string echo ${STR} CUT=${STR#*/} echo ${CUT} 其实*可以看做是通

linux下使用shell脚本自动化部署项目

在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个工程都要发布的时候,发布的过程就会比较繁琐,所以福音来了-- 通过 编写shell 脚本来完成这些操作,只要执行一个shell脚本,项目就可以自动发布到服务器了,用起来还是比较方便的. 第一步:在linux中安装svn.(这个可以参照另外一篇博客:http://simplelife.blog.51c

windows下建立文件的换行符^M导致linux下的shell脚本运行错误的解决方案

经常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M,这将导致shell脚本运行错误,主要是因为dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主要解决如下: (1)在VI编辑器中将^M删除: 将VI编辑器切换到命令模式下,输入 :%s/^M//g (注意^M 不是shift ^ +M 而是ctrl+v 加上ctrl+m)  s///g是shell的替换命令 此命令必须是手动打上,不可复制. (2)dos2unix 命令 dos2unix f

[转载]Linux shell脚本的字符串截取

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

Linux shell脚本的字符串截取

假设有变量 var=http://www.hao.com/123.htm 一. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.hao.com/123.htm  二 .## 号截取,删除左边字符,保留右边字符. echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 即删除 http