淺談Linux bash腳本----截取字符串

#

用于刪除左起第一個匹配內容,即截取右側內容

##

用于刪除右起第一個匹配內容,即截取右側內容

%

用于刪除右起第一個匹配內容,即截取左側內容

%%

用于刪除左起第一個匹配內容,即截取左側內容

舉例

file=/dir1/dir2/dir3/my.file.txtecho ${file#*/} # 刪掉左起第一個/及其左側內容,*號為通配符,/為查找目標
#>dir1/dir2/dir3/my.file.txtecho ${file##*/} # 刪掉右起第一個/及其左側內容,*號為通配符,/為查找目標
#>my.file.txtecho ${file#*.} # 刪掉左起第一個.及其左側內容,*號為通配符,.為查找目標
#>file.txtecho ${file##*.} # 刪掉右起第一個.及其左側內容,*號為通配符,.為查找目標
#>txtecho ${file%/*} # 刪掉右起第一個/及其右側內容,*號為通配符,/為查找目標
#>/dir1/dir2/dir3echo ${file%%/*} # 刪掉右起第一個/及其左側內容,*號為通配符,/為查找目標
#>(空字符串)echo ${file%.*} # 刪掉左起第一個.及其左側內容,*號為通配符,.為查找目標
#>/dir1/dir2/dir3/my.fileecho ${file%%.*} # 刪掉右起第一個.及其左側內容,*號為通配符,.為查找目標
#>/dir1/dir2/dir3/my

注意:

1.截取右側內容時,使用#或##,且*號必須在匹配字符左側,表示刪除匹配字符和*號匹配內容;

2.截取左側內容時,使用%或%%,且*號必須在匹配字符右側,表示刪除匹配字符和*號匹配內容;

3.匹配內容可以不單單一個字符,可以是一個字符串,如:

echo ${file%%my*} # 刪掉右起第一個my及其左側內容,*號為通配符,my為查找目標
#>/dir1/dir2/dir3/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167045.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167045.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167045.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GPT2-chitchat項目運行

git clone https://github.com/yangjianxin1/GPT2-chitchat.git把項目拉下來 下載模型文件: 從[模型分享]中下載模型文件,例如 model_epoch40_50w。 將模型文件放到正確的位置: 將下載的模型文件夾 model_epoch40_50w 放到項目的 model 目錄…

深入理解數據結構:隊列的實現及其應用場景

文章目錄 🍂前言🍂隊列的基本概念和特性🍂隊列的實現方式?🌱順序隊列?🌱鏈式隊列 🍂隊列的基本操作及示例代碼?🥑創建隊列?🥑判空操作?🥑入隊操作?🥑出…

GEE:APP中的遙感圖像下載接口設計

作者:CSDN @ _養樂多_ 本文將詳細介紹如何通過Google Earth Engine(GEE)的用戶界面(ui)模塊創建一個下載按鈕,以觸發遙感圖像下載的操作。通過按鈕的點擊事件,我們生成了包含特定參數的圖像下載鏈接,實現了一鍵式遙感圖像下載功能,使整個過程更加智能和直觀。 此外,…

java操作富文本插入到word模板

最近項目有個需求,大致流程是前端保存富文本(html的代碼)到數據庫,后臺需要將富文本代碼轉成帶格式的文字,插入到word模板里,然后將word轉成pdf,再由前端調用接口下載pdf文件! 1、思…

代碼隨想錄算法訓練營第30天|回溯總結 332. 重新安排行程

回溯是遞歸的副產品,只要有遞歸就會有回溯,所以回溯法也經常和二叉樹遍歷,深度優先搜索混在一起,因為這兩種方式都是用了遞歸。 回溯法就是暴力搜索,并不是什么高效的算法,最多再剪枝一下。 回溯算法能解…

Linux安裝Tesseract-OCR(操作系統CentOS)

Linux安裝Tesseract-OCR 第一步,安裝依賴第二步,下載安裝包第三步,安裝leptonica庫第四步,安裝tesseract第五步,添加語言包第六步,測試 第一步,安裝依賴 sudo yum install libpng-devel rpm -q…

從零學算法400

400.給你一個整數 n ,請你在無限的整數序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的數字。 示例 1: 輸入:n 3 輸出:3 示例 2: 輸入:n 11 輸出:0 解釋:第…

ubuntu22.04 arrch64版在線安裝mysql8

腳本 # todo參考鏈接 Ubuntu服務器配置mysql8_ubuntu安裝mysql8-CSDN博客

樂得瑞LDR6020 VR串流線方案:實現同時充電傳輸視頻信號

VR(Virtual Reality),俗稱虛擬現實技術,是一項具有巨大潛力的技術創新,正在以驚人的速度改變我們的生活方式和體驗,利用專門設計的設備,如頭戴式顯示器(VR頭盔)、手柄、定…

三菱PLC定時中斷應用編程(計數器+比較器)

三菱PLC如何開啟定時中斷可以查看下面文章鏈接: PLC定時中斷程序應用注意事項(西門子三菱信捷)_plc設置斷點之后會怎樣_RXXW_Dor的博客-CSDN博客文章瀏覽閱讀2.5k次,點贊5次,收藏6次。首先我們了解下什么是中斷。中斷(打斷的意思),在PLC執行當前程序時,由于系統出現了…

抖音推廣實戰,教你如何快速成長

一、背景介紹 隨著移動互聯網的飛速發展,抖音作為一款短視頻平臺,已經成為越來越多人生活中的一部分。它不僅提供了豐富多彩的內容,還為商家提供了推廣產品的絕佳平臺。本文將為大家詳細解析抖音推廣實戰,幫助大家快速成長。 二…

基于SSM的老年公寓信息管理(有報告)。Javaee項目

演示視頻: 基于SSM的老年公寓信息管理(有報告)。Javaee項目 項目介紹: 采用M(model)V(view)C(controller)三層體系結構,通過Spring SpringMvc …

Spring Boot 應用的 Docker 化:從 Maven 構建到 Docker 部署的完整指南

1. 使用Dockerfile部署 # 使用Java 8基礎鏡像 FROM java:8 LABEL authors"mabh"# 設置時區為Asia/Shanghai,可以根據需要更改 ENV TIME_ZONEAsia/Shanghai# 更新時區 RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_…

堆的實現(C語言版)

文章目錄 概述堆的實現初始化銷毀插入刪除取堆頂元素求堆的長度判斷堆是否為空 完整代碼 概述 如果有一個關鍵碼的集合K {k0,k1,k2…kn-1}&#xff0c;把它的所有元素按完全二叉樹的順序存儲方式存儲在一個一維數組中&#xff0c;并滿足&#xff1a;Ki <K2*i1 且 Ki<K2…

Python Opencv實踐 - 全景圖片拼接stitcher

做一個全景圖片切片的程序Spliter 由于手里沒有切割好的全景圖片資源&#xff0c;因此首先寫了一個切片的程序spliter。 如果有現成的切割好的待拼接的切片文件&#xff0c;則不需要使用spliter。 對于全景圖片的拼接&#xff0c;需要注意一點&#xff0c;各個切片圖片之間要有…

NX二次開發UF_CSYS_map_point 函數介紹

文章作者&#xff1a;里海 來源網站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_map_point Defined in: uf_csys.h int UF_CSYS_map_point(int input_csys, double input_point [ 3 ] , int output_csys, double output_point [ 3 ] ) overview 概述 Ma…

Android11編譯第七彈:串口文件讀寫

問題&#xff1a;需要對SIM卡進行管理&#xff0c;支持APP切換SIM卡。此功能需要訪問串口文件&#xff0c;并且對串口文件進行讀寫。APP操作串口文件/dev/ttyUSB1時&#xff0c;串口文件打開失敗。 2023-11-23 10:59:44.092 14264-14264 MULTI_CARD_SerialHandle com.wellnkio…

三分鐘快速理解 ChatGPT 背后的大模型技術

在過去的十年中&#xff0c;人工智能領域取得了重大突破&#xff0c;其中自然語言處理&#xff08;NLP&#xff09;是其重要子領域之一。NLP使用的模型之一是大型語言模型&#xff08;LLMs&#xff09;。LLMs被設計用于處理大量文本數據&#xff0c;采用先進的神經網絡架構&…

nodejs 文件目錄監聽 chokidar watchpack

文件監聽實現&#xff0c;推薦使用chokidar&#xff1a; chokidar 默認是基于事件監聽文件 const chokidar require("chokidar"); const folderToWatch path.join(__dirname, "lib"); const watcher chokidar.watch(folderToWatch, { ignored: /(^|[…

在Vue中使用Echarts

文章目錄 Echarts1. 介紹2. 體驗NPM 安裝 Echarts定義 Echarts 容器引入 Echarts 3. 基礎配置 Echarts 1. 介紹 常見的數據可視化庫&#xff1a; D3.js 目前 Web 端評價最高的 Javascript 可視化工具庫(入手難)ECharts.js 百度出品的一個開源 Javascript 數據可視化庫Highch…