shell变量的字符串操作

来源:互联网 发布:淘宝软妹衣服店 编辑:程序博客网 时间:2024/05/01 09:50

如果一个shell变量的值是一个字符串,那么我们一些操作完成字符串的简单处理:

假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt

1.得到字符串的长度:

${#file} #得到文本长度

2.用${ }分别替换得到不同的值:

${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 .  及其左边的字符串:file.txt
${file##*.}:删掉最后一个 .  及其左边的字符串:txt
${file%/*}:删掉最后一个  /  及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 /  及其右边的字符串:(空值)
${file%.*}:删掉最后一个  .  及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个  .   及其右边的字符串:/dir1/dir2/dir3/my


记忆的方法为:
# 是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)

单一符号是最小匹配;两个符号是最大匹配

3.提取字串:

${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2

4.字符串替换:

${file/dir/path}:将第一个dir 替换为path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部dir 替换为 path:/path1/path2/path3/my.file.txt


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 下嘴唇肿了一半怎么办 狗狗早上叫不停怎么办 狗在家乱咬东西怎么办 狗狗晚上一直叫怎么办 金毛幼犬晚上叫怎么办 金毛晚上老是叫怎么办 5岁宝宝总尿裤子怎么办 2岁宝宝尿裤子怎么办 2周岁宝宝尿裤子怎么办 5岁宝宝尿裤子怎么办 模拟人生4不怀孕怎么办 狗狗的毛打结怎么办 狗狗生病了不吃东西怎么办 给领导送礼不收怎么办 国外弃货,货代怎么办 不小心拜了阴庙怎么办 要考试了不想考怎么办? 刚怀孕喝了红酒怎么办 不知道该怎么办的成语 墙纸3年了有味道怎么办 本命佛不要了怎么办 本命佛不想戴了怎么办 刚养的猫怕人怎么办 吃了马蜂蛹过敏怎么办 三星s5边框掉漆怎么办 一楼厕所反味怎么办 左脸颊反复长痘怎么办 头条指数650以后怎么办 6s电池不耐用了怎么办 天刀邮箱满了怎么办 吃了降压药血压还高怎么办 后脖颈发际线低怎么办 低头久了脖子疼怎么办 胃一直顶的难受怎么办 喝酒后感觉胃胀怎么办 孕晚期膈肌疼痛怎么办 1岁宝宝总是打嗝怎么办 3岁宝宝总是打嗝怎么办 2岁宝宝一直打嗝怎么办 2岁宝宝总是打嗝怎么办 8天宝宝总是打嗝怎么办