Linux shell字符串截取与拼接

一 Linux 的字符串截取很有用。有八种方法。

假设有变量 var=http://www.hao.com/123.htm

1  # 号截取,删除左边字符,保留右边字符。

echo ${var#*//}

其中 var 是变量名,# 号是运算符,*//
表示从左边开始删除第一个 // 号及左边的所有字符

即删除 http://

结果是 :www.hao.com/123.htm

.

2  ## 号截取,删除左边字符,保留右边字符。

echo ${var##*/}

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

即删除
http://www.hao.com/          

结果是 123.htm

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

echo ${var%/*}

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

结果是:http://www.hao.com


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

echo ${var%%/*}

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

结果是:http:

5 从左边第几个字符开始,及字符的个数

echo ${var:0:5}

其中的 0 表示左边第一个字符开始,5 表示字符的总个数。

结果是:http:

6 从左边第几个字符开始,一直到结束。

echo ${var:7}

其中的 7 表示左边第8个字符开始,一直到结束。

结果是 :www.hao.com/123.htm

7
从右边第几个字符开始,及字符的个数

echo ${var:0-7:3}

其中的
0-7 表示右边算起第七个字符开始,3 表示字符的个数。

结果是:123

8  从右边第几个字符开始,一直到结束。

echo ${var:0-7}

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

结果是:123.htm

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

二  Linux Shell 脚本中字符串的拼接方法

如果想要在变量后面添加一个字符,可以用一下方法:

$value1=home

$value2=${value1}"="

echo $value2

把要添加的字符串变量添加{},并且需要把$放到外面。

这样输出的结果是:home=,也就是说连接成功。

又如:

[[email protected] sh]# var1=/etc/

[[email protected] sh]# var2=yum.repos.d/

[[email protected] sh]# var3=${var1}${var2}

[[email protected] sh]# echo $var3

/etc/yum.repos.d/

时间: 2024-07-30 18:56:17

Linux shell字符串截取与拼接的相关文章

linux shell 字符串操作(长度,查找,替换,匹配)详解

linux shell 字符串操作(长度,查找,替换,匹配)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同     ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${va

shell ---- 字符串截取方法归纳

SHELL --- 字符串截取 1.按指定的字符串截取(4种) ${varible##*string}  # 从左向右截取最后一个string后的字符串   <即 删除左边字符,保留右边字符> ${varible#*string}   # 从左向右截取 第一个string后的字符串     <即 删除左边字符,保留右边字符> ${varible%%string*}  # 从右向左截取最后一个string后的字符串   <即 删除右边字符,保留左边字符> ${varibl

Oracle字符串截取和拼接应用

今天有人问了个关于Oracle字符串截取和拼接的问题,让我帮他写出SQL,看了下问题描述还比较清晰就试着解决下,利用午休时间把功能实现了,问题看似不难,但思路一定要清晰,不然就乱了,关键大量应用了Oracle的substr 和instr函数,下面贴出问题和脚本: 问题:sql中一个字段值为:1788987565327.768374872394903.21437238740213483874629.23412341234252345.其中顿号间隔的每一组数字位数和尾数不定,现在要使前面这个字段值中

linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )

在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$

linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )

在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$

shell字符串截取总结

shell中截取字符串的方法有很多中,本人对其中几种常用的进行整理总结. 0x01.grep 在文件中搜寻字符串匹配的行并输出 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. grep [选项][指定字串][文件] -i 不区分大小写 -v 排除指定字串 -c:只输出匹配行的计数. -n:显示匹配行及 行号. -

linux shell 字符串操作

转:http://justcoding.iteye.com/blog/1963463 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var}变量var的值, 与$var相同 ${var-DEFAULT}如果var没有被声明, 那么就以$DEFAULT作为其值 *

Shell字符串截取

shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取word ${parameter#word}

Excel 之 字符串截取、拼接、和透视表

假设有表如下: 如何得到E列的数据(格式为模式名.表名,如PDM_DATA.T05_GMS_NAV_SPV_PCH_RDM_TRX_EVT)?如何由E列得到F列数据(从E类中截取表名)? 1. 字符串拼接 在E列中输入:=C3&"."&D3 2.字符串截取 首先介绍几个函数: left函数,right函数和mid函数 left函数语法:left(text,num_chars),从左侧开始截取部分字符串 right函数语法:right(text,num_chars),从右