1. awk
2. expr
(1)字串長度
#!/bin/bashstr="
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內建一系列操作符號,...