linux shell substr(分割字串)

2021-06-26 04:55:55 字數 1142 閱讀 3738

原來在shell中如果遇到要擷取字串的情況,就呼叫awk中的substr來實現。

今天了解到一種新的方法,原來shell中本身就支援這種用法。

如,有一字串」12345678″,現在要擷取第三個到第六個字元的字串區間。

則可以:

[xok.la ~]$ export str="123456789"

[xok.la ~]$ echo $

456[xok.la ~]$ unset str

從以上第二個表示式可以看出這個用法,即:$

可以歸納為:$,且支援表示式,如:6-3。

補充一下從網上找到一些其他的用法:

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

二、按指定的字串擷取

1、第一種方法:

$ 從左向右擷取最後乙個string後的字串

$從左向右擷取第乙個string後的字串

$從右向左擷取最後乙個string後的字串

$從右向左擷取第乙個string後的字串

「*」只是乙個萬用字元可以不要

例子:$ myvar=foodforthought.jpg

2、第二種方法:$:擷取變數varible從n1到n2之間的字串。

可以根據特定字元偏移和長度,使用另一種形式的變數擴充套件,來選擇特定子字串。試著在 bash 中輸入以下行:

$ exclaim=cowabunga

$ echo $

cow$ echo $

abunga

這種形式的字串截斷非常簡便,只需用冒號分開來指定起始字元和子字串長度。

三、按照指定要求分割:

比如獲取字尾名

ls -al | cut -d "." -f2

halcon粘連字元分割 粘連字元分割初探

學習驗證碼快乙個星期了,終於把樣本集切出來了,現在問題是如何切粘連字元,現在將自己的學習過程記錄下來 第一部分 我們知道,對於不黏連的字元,直接用掃瞄線分割法就可以,就是看哪乙個豎條上沒有文字畫素,則這個豎條就是兩個字元間的空白部分 當然,對於不黏連的字元,cfs演算法效果也很好,它主要是利用連通域...

字元分割函式

1.function split split str string line str string tstrings 2.字串分割 分割用字元 原始字串,3.var 4.posi integer 5.str tstringlist 6.l str string 7.begin 8.str tstri...

java字元分割

public string split string regex 可以接受普通字元,也可以是正規表示式。public string split string regex,int limit else if no match was found,return this if off 0 return ...