shell字串總結

2021-06-28 03:48:25 字數 2295 閱讀 3138

部落格主頁:

1. 計算字串長度:

echo $

2. 按字元擷取字串:

$3.借助% 、%%、#、##對字串的切割:

%:從右向左非貪婪匹配

%%:從右向左貪婪匹配

#:從左向右非貪婪匹配

##:從左向右貪婪匹配

用法示例: $ $ $ $

ps:"."這裡僅僅只是乙個普通的點,而不是任意字元

[root@jjy ~/q/data/tmp_data]# url="hotel.qunar.com"

[root@jjy ~/q/data/tmp_data]# echo $

hotel.qunar

[root@jjy ~/q/data/tmp_data]# echo $

hotel

[root@jjy ~/q/data/tmp_data]# echo $

qunar.com

[root@jjy ~/q/data/tmp_data]# echo $

com

4.利用ifs分割字串

ifs為內建字段分隔符,這裡有一篇關於ifs很好的說明:

ps:疑問,對於str=`ls -al`這種方式我弄不明白生成的到底是乙個陣列?還是算做一中字串

[root@jjy ~/q/data/tmp_data]# ifs="\n"

[root@jjy ~/q/data/tmp_data]# str=`ls -al`

[root@jjy ~/q/data/tmp_data]# echo $str

總用量 20

drwxr-xr-x 2 root root 4096 1月 9 13:52 .

drwxr-xr-x 36 root root 4096 1月 7 19:53 ..

-rw-r--r-- 1 root root 12 1月 9 13:51 1

-rw-r--r-- 1 root root 10 1月 9 13:52 2

-rw-r--r-- 1 root root 28 1月 9 13:51 2~

[root@jjy ~/q/data/tmp_data]# echo $

總用量 20

drwxr-xr-x 2 root root 4096 1月 9 13:52 .

drwxr-xr-x 36 root root 4096 1月 7 19:53 ..

-rw-r--r-- 1 root root 12 1月 9 13:51 1

-rw-r--r-- 1 root root 10 1月 9 13:52 2

-rw-r--r-- 1 root root 28 1月 9 13:51 2~

[root@jjy ~/q/data/tmp_data]#

[root@jjy ~/q/data/tmp_data]# echo $

總用量 20

drwxr-xr-x 2 root root 4096 1月 9 13:52 .

drwxr-xr-x 36 root root 4096 1月 7 19:53 ..

-rw-r--r-- 1 root root 12 1月 9 13:51 1

-rw-r--r-- 1 root root 10 1月 9 13:52 2

-rw-r--r-- 1 root root 28 1月 9 13:51 2~

[root@jjy ~/q/data/tmp_data]# echo $

1

5. 借助xargs 分割字串

-d 引數指定分割符

[root@jjy ~/q/data/tmp_data]# echo $str

w1@w2@w3

[root@jjy ~/q/data/tmp_data]# echo $str | xargs -d "@"

w1 w2 w3

[root@jjy ~/q/data/tmp_data]# for item in $array; do echo $item; done

w1w2

w3

Shell字串處理規律總結

代表截掉開始 chaosbom chaosbompc file thisfile.txt chaosbom chaosbompc echo txtchaosbom chaosbompc echo sfile.txt 代表截掉結尾 chaosbom chaosbompc file thisfile.t...

shell字串擷取方法總結

字串變數 號 最小限度擷取 號 最大限度擷取 echo server 1.4.1.13424323tar.gz echo 1.4.1.13424323tar.gz 號 最小限度擷取 號 最大限度擷取 從左邊第start個字串開始,擷取len個字元 從左邊第幾個字元開始一直到結束 從右邊第幾個字元開始...

shell字串處理

一 構造字串 直接構造 str zero hello str first i am a string str second success 重複多次 repeat the first parm 1 by 2 times strrepeat 舉例 str repeat strrepeat user n...