file=/dir1/dir2/dir3/my.file.txt
${file#*/} 去掉左边
${file##*/} 去掉左边最后一个
${file%/*} 去掉右边
${file%%/*} 去掉右边第一个
${file:5:5} 截取5开始长度5的字符 ${file/dir/path} 将第一个dir替换为path
${file//dir/path} 将所有dir替换为path ${file-my.file.txt} 未设置则返回my.file.txt,空和非空不处理
${file:-my.file.txt} 未设置和空值则返回my.file.txt,非空不处理
${file+my.file.txt} 空值或非空值则返回my.file.txt,未设置不处理
${file:+my.file.txt} 非空则返回my.file.txt,空值或未设置不处理
${file=my.file.txt} 未设置则返回my.file.txt且赋值file,空值或非空不处理
${file:=my.file.txt} 未设置或空值返回my.file.txt且赋值file,非空不处理
${file?my.file.txt} 未设置返回my.file.txt到STDERR,空值及非空值时不作处理
${file:?my.file.txt} 未设置或空值返回my.file.txt到STDERR,非空值时不作处理
注意: ":+"的情况是不包含空值的.":-", ":="等只要有冒号就是包含空值(null).
unset file可以将file变为未设置 ${#file} 变量长度 A=(a b c def)
${A[@]} ${A[*]} 可得到全部数组
${A[n]} 可以得到第n个值,
${#A[@]} ${#A[*]} 得到数组长度
${#A[n]} 得到第n个值长度

在shell中截取心仪的字符串的更多相关文章

  1. shell中截取字符串的方法总结

    shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...

  2. shell 中函数放回字符串问题

    shell 中函数放回字符串问题 shell 中不可以直接 return 字符串 ,可以return 数字.如果要return 字符串 改为 echo "hello world" ...

  3. JS 从一个字符串中截取两个字符串之间的字符串

    /************************************************* 函数说明:从一个字符串中截取 两个字符串之间的字符串 参数说明:src_str 原串, start ...

  4. Shell中的正则表达式及字符串处理

    shell里一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所 ...

  5. SHELL中,如何分割字符串

    done.csv中,形如 amoy9812@163.com的数据 #!/bin/shwhile read linedo ar=(${line//@/ }) echo ${ar[0]} #说明:分解出账 ...

  6. pandas中截取一列字符串中每行字符串的一部分

    import pandas as pd df = pd.DataFrame([[',1], [',2], [',3], [',4], [',5], [',6]],columns=['str','num ...

  7. linux 中截取字符串

    shell中截取字符串的方法有很多中,${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${parameter:?word}${pa ...

  8. iOS截取特定的字符串(正则匹配)

    有时候我们会有需求从一个字符串中截取其他的字符串,根据情况的不同,我们来分析几种方法~~ 一. 固定长度字符串中截取固定位置长度的字符串 // 这是比较简单的一种情况:比如截取手机号的后4位 let ...

  9. shell中取字符串子串的几种方式 截取substr

    shell中取字符串子串的几种方式 echo "123456789" | awk '{print substr($0,5,2)}' 截取 1)awk中函数substrsubstr( ...

随机推荐

  1. IFile、File与实体转换

    /** * 根据物理实体文件在开发工程中创建实体文件 */ @Override public void getEntityFilesByErFile(IFile erfile, IFolder ent ...

  2. YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集

    YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性: Look Onc ...

  3. 【Flutter 实战】菜单(Menu)功能

    老孟导读:今天介绍下Flutter中的菜单功能. PopupMenuButton 使用PopupMenuButton,点击时弹出菜单,用法如下: PopupMenuButton<String&g ...

  4. 分布式系统监视zabbix讲解四之可视化

    图形 概述 随着大量的监控数据被采集到Zabbix中,如果用户可以以可视化的表现形式来查看发生了什么事情,那么和仅仅只有数字的表现形式比起来则更加轻松. 以下是进行图形设置的地方.图形可以一目了然地掌 ...

  5. k8s数据管理(八)

    volume 我们经常会说:容器和 Pod 是短暂的.其含义是它们的生命周期可能很短,会被频繁地销毁和创建.容器销毁时,保存在容器内部文件系统中的数据都会被清除. 为了持久化保存容器的数据,可以使用 ...

  6. hystrix总结之请求批量执行

    hystrix可以将同一个命令的多次执行合并到一起执行. public class HelloWorldCommandCollapser extends HystrixCollapser<Lis ...

  7. 解Bug之路-记一次对端机器宕机后的tcp行为

    解Bug之路-记一次对端机器宕机后的tcp行为 前言 机器一般过质保之后,就会因为各种各样的问题而宕机.而这一次的宕机,让笔者观察到了平常观察不到的tcp在对端宕机情况下的行为.经过详细跟踪分析原因之 ...

  8. selenium的文档API

    你用WebDriver要做的第一件事就是指定一个链接,一般我们使用get方法: from selenium import webdriver from selenium.webdriver.commo ...

  9. 2020 CiGA Game Jam活动总结

    CiGA Game Jam 总结 今年8月14.15.16号,48小时游戏开发--Game Jam开始了.蠢新第一次参加Game Jam,今年还是线上开展,情绪复杂= = 还有一个坏消息,晓航旅游缺席 ...

  10. c++11 新特性实战 (一):多线程操作

    c++11多线程操作 线程 thread int main() { thread t1(Test1); t1.join(); thread t2(Test2); t2.join(); thread t ...