Linux-shell腳本字符串截取

2021-01-07 linux運維菜

前言

在Linux shell編程中,我們經常需要截取某個字符串來,繼續操作,比如:截取日期來創建整分鐘的目錄之類的。

字符截取

測試字符串

var=1234567890abcedef1203

1、使用#截取0以後的內容

echo ${var#*0}

結果:abcedef1203

#表示操作符,*0表示從左往右找到第一個0,截取0之後的所有字符

echo ${var##*0}

結果:3

#表示操作符,*0表示從右往左找到第一個0,截取0之後的所有字符

2、使用%截取

echo ${var%0*}

結果:1234567890abcedef12

%表示操作符,0*表示從右往左找到第一個0,截取0之前的所有字符

echo ${var%%0*}

結果:123456789

%表示操作符,0*表示從左往右找到第一個0,截取0之前的所有字符

3、根據索引來截取

echo ${var:0:7}

結果:1234567

其中的 0 表示左邊第一個字符開始,7 表示字符的總個數。

echo ${var:7:5}

結果:890ab

其中的 7 表示左往右第七個字符開始,5 表示字符的個數。

echo ${var:0-7:5}

結果:def12

其中的 0-7 表示右往左第七個字符開始,5 表示字符的個數。

echo ${var:0-7}

結果:def1203

如果不加字符個數就截取剩下的所有字符

總結

shell用來處理字符串還是不習慣,但是不難!

相關焦點

  • shell字符串單雙引號的坑
    在shell中單引號和雙引號括起來的字符串有什麼不同嗎?根據截圖所言,推而廣之:我們在命令行中使用的各種命令、運行的各種軟體本質上都是字符串,只不過我們沒有加上 單引號或雙引號作為標識,屬於 第三種情況。這種規則讓我們能夠通過空格來區分命令中的選項和參數。
  • 玩轉Linux - shell 編程基礎(一)
    因為sh和bash在這方面很弱,比如說:環境兼容性如果你的腳本是提供給別的用戶使用,使用sh或者bash,你的腳本將具有最好的環境兼容性,perl很早就是linux標配了,python這些年也成了一些linux發行版的標配,至於mac os,它默認安裝了perl、python、ruby、php、java等主流程式語言。
  • Linux命令行與Shell腳本編程學習筆記20
    trap命令允許你來指定shell腳本要觀察哪些linux信號並從shell中攔截。如果腳本收到了trap命令中列出的信號,它會阻止它被shell處理,而在本地處理它。2. trap命令的格式是: trap commands signals3. 當&符放到命令後時,它會將命令和bash shell分離開來,並將它作為系統上的獨立後臺進程運行。
  • 平常使用shell腳本的一些知識點分享
    5. grep過濾多個參數實例:PRO_NAME=ProbeIPTVgrep -E "$PRO_NAME|System"6.shell字符串截取我遇到的問題是這樣的,top查看進程信息之後,截取到指定的內存,比如說是 17638K,後面我需要計算這個數值,所以我希望去掉 K,只保留 17638,shell腳本中的字符串截取一步就可以做到。
  • linux shell 腳本入門
    Linux 腳本編寫基礎1.1 語法基本介紹1.1.1 開頭程序必須以下面的行開始(必須方在文件的第一行):#!/bin/sh符號#!用來告訴系統它後面的參數是用來執行該文件的程序。在這個例子中我們使用/bin/sh來執行程序。當編輯好腳本時,如果要執行該腳本,還必須使其可執行。
  • linux系統shell腳本基本及變量
    shell是啥1、腳本語言,可以用來編寫腳本。shell script shell腳本(劇本),面向過程的語言。腳本-->一條條命令的羅列。[]括號中是字符集合,不管字符集合中有多少個字符,只匹配字符集合中的一個字符。[abc][abc] aa ab ac ba bb bc ca cb cc# touch a{a,b,c,d}.txt# ls a[abc].txt[-]-表示範圍。
  • 玩轉 Linux - shell 編程基礎
    shell腳本(shell script),是一種為shell編寫的腳本程序。業界所說的shell通常都是指shell腳本,但讀者朋友要知道,shell和shell script是兩個不同的概念。由於習慣的原因,簡潔起見,本文出現的「shell編程」都是指shell腳本編程,不是指開發shell自身(如Windows Explorer擴展開發)。
  • shell腳本極簡教程
    注意:bash是 Bourne Again Shell 的縮寫,是linux標準的默認shell ,它基於Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全兼容sh,也就是說,用sh寫的腳本可以不加修改的在bash中執行。大體上,可以將程序設計語言可以分為兩類:編譯型語言和解釋型語言。
  • Linux命令行與Shell腳本編程學習筆記15
    在創建shell腳本文件時,必須在文件的第一行指定要使用的shell。3. 在通常的shell腳本的行裡,井號(#)用作注釋行。shell腳本中注釋行是不被shell執行的。然而,shell腳本文件的第一行是個特例,井號後接嘆號告訴shell用哪個shell來運行腳本。4. 有些Linux發行版將$HOME/bin目錄添加進了PATH環境變量。
  • Linux——Shell腳本的應用1(基礎)
    Shell腳本的應用(基礎)簡介:隨著linux系統在企業中的應用越來越多,伺服器的自動化管理也變得越來越重要。在linux伺服器的自動化維護工作中,除了計劃任務的設置以外,shell腳本的應用也是非常重要的一部分。
  • Linux中Shell腳本基礎筆記
    shell腳本都是以"#!"作為開頭。這是腳本開始的標記,它是告訴linux系統執行該腳本文件需要使用相應的解釋器,緊挨著的/bin/bash指定了解釋器的具體路徑。shell主要用#作為注釋標記。後面可以加腳本的注釋,建議寫shell腳本要根據情況多寫注釋,便於以後腳本的維護。shell腳本的運行方式:1、可以在shell腳本第一行加上"#!/bin/bash"的話。可以按照以下方式執行:bash test.sh #要保證目錄中存在該腳本文件。2、給腳本加上可執行的權限,然後使用".
  • MySQL字符串截取 和 截取字符進行查詢
    通過mysql自帶的一些字符串截取函數,對數據進行處理,下面是我整理的字符串截取 和 截取字符進行查詢。一、MySQL中字符串的截取MySQL中有專門的字符串截取函數:其中常用的有兩種:substring_index(str,delim,count) 和concat 1.substring_index(str,delim,count) 函數的使用較為普遍
  • Linux作業系統Shell和常用命令匯總
    zsh:Z-shell,一個域csh、ksh、sh兼容的Shell。Shell腳本Shell 腳本(shell script),是一種為 shell 編寫的腳本程序。打開文本編輯器(vi/vim命令)來創建文件,新建一個文件 test.sh,擴展名為 sh(sh代表shell),擴展名並不影響腳本執行,如果你用 php 寫 shell 腳本,擴展名就用 php 好了。實例:#!/bin/bashecho "Hello World !"#!
  • 精心匯總的 24 道 shell 腳本面試題
    示例如下所示:# chsh <用戶名> -s <新shell># chsh linuxtechi -s /bin/shQ:3 可以在shell腳本中使用哪些類型的變量?fifiQ:6 shell腳本中「$?」標記的用途是什麼?答:在寫一個shell腳本時,如果你想要檢查前一命令是否執行成功,在if條件中使用「$?」可以來檢查前一命令的結束狀態。
  • Linux常用Shell腳本,值得學習及收藏
    在運維中,尤其是linux運維,都知道腳本的重要性,腳本會讓我們的 運維事半功倍,所以學會寫腳本是我們每個linux運維必須學會的一門功課,這裡收藏
  • Linux常用Shell腳本知多少
    在運維中,尤其是linux運維,都知道腳本的重要性,腳本會讓我們的 運維事半功倍,所以學會寫腳本是我們每個linux運維必須學會的一門功課,這裡收藏linux運維常用的腳本。如何學好腳本,最關鍵的是就是大量的練習 和實踐。根據以下腳本我們可以拓展,這樣我們提高的很快!舉一反三!小夥伴要是不熟悉linux的話可以在公眾號內回復 「linux」 獲取linux的教程 之後咱們再來回過頭來學一學腳本1.用Shell編程,判斷一文件是不是字符設備文件,如果是將其拷貝到 /dev 目錄下。
  • Linux SHELL編程:程式設計師不得不掌握的引號用法
    前些天小編閒來無事,在一個有關linux的交流群中聊天。這時有位小夥伴突然截圖在群中,說他從網上照搬著敲出來的一段shell腳本,怎麼運行都不對,一直報錯,問我們怎麼回事?群裡面的各路大神紛紛要求他貼出代碼,後來發現他僅僅是一組引號打錯了,所以導致腳本調試通不過。我們不知道他從哪裡照搬過來的腳本,還是他手誤打錯的,各路大神紛紛教育他,linux中的腳本編寫,引號用法是各不相同的。
  • 【shell】shell 腳本編程基礎
    初識1.1 第一個 shell 腳本1.2 運行 shell 腳本的兩種方法2. 變量2.1 變量2.2 字符串2.3 數組2.4 注釋3. 傳遞參數4.字符串即可以使用 '' 包含,也可以使用 "" 包含。
  • Linux作業系統之Shell程序設計
    (2) Shell 是基於字符串的語言。Shell 只是做字符串處理,不支持複雜的數據結構和運算。Shell 的輸出也全部是字符方式的。(3) Shell是命令級語言。Shell 程序全部由命令而不是語句組成,幾乎所有的Shell命令和可執行程序都可用來編寫Shell程序。Shell命令十分豐富,命令的組合功能也十分強大。
  • Linux命令行與Shell腳本編程學習21
    有兩種格式可以用來在bash shell腳本中創建函數。第一種格式採用關鍵字function,後跟分配給該代碼塊的函數名:Gunction name {commands}name屬性定義了賦予函數的唯一名稱。commands是構成函數的一條或多條bash shell命令。