linux shell 字串處理

2022-07-03 06:51:11 字數 1181 閱讀 7233

1.  awk

2. expr

(1)字串長度

#!/bin/bash

str="

123456

"echo"$

"expr length "

$"

(2)子串查詢

expr index $  $

在str上匹配子串第一次出現的位置(從1開始),找不到返回0

(3)匹配

expr match $ $

在str的開頭匹配子串(或正則),返回匹配到的子串長度,匹配不到返回0

(4)獲取子串

str="

123456

"echo"$

" #23456

echo"$

" #23

echo"$

" #56

echo"$

" #56

expr substr "$"

23 #234

$的字串起點從0開始 

expr 操作字串起點從1開始

(5)刪除子串

str="

20011234 abc

"echo"$

" #1234 abc 刪除str開頭處匹配 2*1

的最短子串,非貪婪

echo"$

" #234 abc 刪除str開頭處匹配 2*1

的最長子串,貪婪

echo"$

" #2001 刪除str結尾處匹配 1*c 的最短子串

echo"$

" #200 刪除str結尾處匹配 1*c 的最長子串

(6)子串替換

str="

20011234 abc

"echo"$

"#200t1234 abc 替換第乙個匹配的子串

echo"$

" #200tt234 abc 替換所有匹配的子串

str="

123abc123

"echo"$

"#tabc123 替換開頭處的子串

echo"$

" #123abct 替換結尾處的子串

linux shell 字串處理

s1 hello s2 world 1 字串拼接 s3 s1 s2 echo s3 helloworld 2 擷取s1第2 4個字元 s4 1為起始下標,3為從下標1開始擷取3個字元,第乙個下標從0開始計算。echo s4 ell 3 擷取s1第1到倒數第3個字元 s5 0為起始下標,2表示倒數第2...

linux shell指令碼中字串處理方法總結

shell字串擷取 一 linux shell 擷取字元變數的前8位,有方法如下 1.expr substr a 1 8 2.echo a awk 3.echo a cut c1 8 4.echo 5.expr a 6.echo a dd bs 1 count 8 2 dev null 二 按指定的...

linux shell 字串替換

x abcdabcd echo 只替換乙個 bbcdabcd echo 替換所有 bbcdbbcd 舉例 test liu.echo liu 引用 參考 在做shell批處理程式時候,經常會涉及到字串相關操作。有很多命令語句,如 awk,sed都可以做字串各種操作。其實shell內建一系列操作符號,...