码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux shall中删除与替换


    最近在弄linux内核相关东西,经常要写一些脚本文件,这里简单记录一下。

    这里简单的记录一下。

    1.首先获取当前路径

    1. path=$(pwd)
    2. echo $path

    echo 就是打印对应数据。

    1. srcPath=${path}/bin/makefile/tg/bin
    2. curPath=${path}/cur/src/include
    3. echo $srcPath
    4. echo $curPath
    5. testpath=$srcPath
    6. echo "1"
    7. echo ${testpath#/*bin}
    8. echo ${testpath##/*bin}
    9. echo "2"
    10. echo ${testpath%/*bin}
    11. echo ${testpath%%/bin*bin}
    12. echo "3"
    13. echo ${testpath/bin/BIN}
    14. echo ${testpath//bin/BIN}
    15. echo "4"
    16. pe=${testpath%%bin*/bin}${testpath#/*bin/}
    17. echo $pe

    输出结果为

    1. /home/pkqbp/work/test-small/deletT/curd
    2. /home/pkqbp/work/test-small/deletT/curd/bin/makefile/tg/bin
    3. /home/pkqbp/work/test-small/deletT/curd/cur/src/include
    4. 1
    5. /makefile/tg/bin
    6. 2
    7. /home/pkqbp/work/test-small/deletT/curd/bin/makefile/tg
    8. /home/pkqbp/work/test-small/deletT/curd
    9. 3
    10. /home/pkqbp/work/test-small/deletT/curd/BIN/makefile/tg/bin
    11. /home/pkqbp/work/test-small/deletT/curd/BIN/makefile/tg/BIN
    12. 4
    13. /home/pkqbp/work/test-small/deletT/curd/makefile/tg/bin

    2.${testpath#/*bin}  其中# 为删除

    这个代表从头到尾开始查找第一个为bin的数据,删除前面数据

    如:

    /home/pkqbp/work/test-small/deletT/curd/bin/makefile/tg/bin

    通过代码,第一个头为/,然后找到第一个为bin的,就变成了

    /makefile/tg/bin

    2.1${testpath##/*bin} ## 也为删除

    代表头到尾开始查找最后一个为bin,然后将其删除,与是可以看到数据被清空了

     

    3${testpath%/*bin}  %为删除

    代表是从后往前找,找到最近的bin,然后将其删除

    /home/pkqbp/work/test-small/deletT/curd/bin/makefile/tg/bin

    变成了:

    /home/pkqbp/work/test-small/deletT/curd/bin/makefile/tg

    3.1${testpath%%/bin*bin}  %%也为删除

    代表是从后往前找,找到最远的bin,然后将其删除

    /home/pkqbp/work/test-small/deletT/curd/bin/makefile/tg/bin

    变成了:

    /home/pkqbp/work/test-small/deletT/curd

    4. 有关/ 与 // 这里统一讲解下

    ${testpath/bin/BIN} 将bin转换成BIN  但是只会替换当前第一个

    // 就可以将全部替换掉

    1. /home/pkqbp/work/test-small/deletT/curd/BIN/makefile/tg/bin
    2. /home/pkqbp/work/test-small/deletT/curd/BIN/makefile/tg/BIN

    下面就是一个组合运用,将中间的bin去掉,别的保留

    ${testpath%%bin*/bin}${testpath#/*bin/}

    原来路径:

    /home/pkqbp/work/test-small/deletT/curd/bin/makefile/tg/bin

    变化的路径:

    /home/pkqbp/work/test-small/deletT/curd/makefile/tg/bin

    今天就记录到这里,下次见,如果没有看到我,祝你早安、午安、晚安。

     

  • 相关阅读:
    【Javascript保姆级教程】Javascript数据类型和算术运算符
    中国微单相机行业市场深度分析及发展规划咨询综合研究报告
    jdk17新特性
    【正点原子Linux连载】第二十五章 语音识别项目 摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2
    【大数据入门核心技术-Zookeeper】(三)Zookeeper的选举机制和流程
    Springboot毕设项目儿童医院问诊导诊系统aqy75(java+VUE+Mybatis+Maven+Mysql)
    使用 Elasticsearch、OpenAI 和 LangChain 进行语义搜索
    满满干货!手把手教你实现基于eTS的分布式计算器
    Go SSE Demo
    springcache的使用详解(使用redis做分布式缓存)
  • 原文地址:https://blog.csdn.net/weixin_42126427/article/details/126783329
  • 最新文章
  • PortSwigger SQL注入LAB5 & LAB6
    Go-Spring 项目概览
    "HyFormer: Revisiting the Roles of Sequence Modeling and Feature Interaction in CTR Prediction" 论文笔记
    WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
    AI 战略下架构演进:小米基于 JuiceFS 的统一存储实践
    花29块让AI帮我写代码:一个测试工程师的Hermes使用体验
    Ubuntu 24.04 安装企业微信(deepin-wine 版)完整指南
    DeepSeek-Lane:在 Cursor 内使用 DeepSeek V4 模型
    OpenHarmony.NET 停更事件复盘和思考
    用 AI Agent 做面试准备和面试复盘:我写了一个Skill,把多轮面试当成系统来打
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号