亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Bash Shell字符串操作小結

2020-07-27 19:16:40
字體:
來源:轉載
供稿:網友

1. 取長度

復制代碼 代碼如下:
str="abcd"
expr length $str   # 4
echo ${#str}       # 4
expr "$str" : ".*" # 4

好像一般使用第二種
2. 查找子串的位置
復制代碼 代碼如下:
str="abc"
expr index $str "a"  # 1
expr index $str "b"  # 2
expr index $str "x"  # 0
expr index $str ""   # 0

3. 選取子串
復制代碼 代碼如下:
str="abcdef"
expr substr "$str" 1 3  # 從第一個位置開始取3個字符, abc
expr substr "$str" 2 5  # 從第二個位置開始取5個字符, bcdef
expr substr "$str" 4 5  # 從第四個位置開始取5個字符, def
echo ${str:2}           # 從第二個位置開始提取字符串, bcdef
echo ${str:2:3}         # 從第二個位置開始提取3個字符, bcd
echo ${str:(-6):5}        # 從倒數第二個位置向左提取字符串, abcde
echo ${str:(-4):3}      # 從倒數第二個位置向左提取6個字符, cde

4. 截取子串
復制代碼 代碼如下:
str="abbc,def,ghi,abcjkl"
echo ${str#a*c}     # 輸出,def,ghi,abcjkl  一個井號(#) 表示從左邊截取掉最短的匹配 (這里把abbc字串去掉)
echo ${str##a*c}    # 輸出jkl,             兩個井號(##) 表示從左邊截取掉最長的匹配 (這里把abbc,def,ghi,abc字串去掉)
echo ${str#"a*c"}   # 輸出abbc,def,ghi,abcjkl 因為str中沒有"a*c"子串
echo ${str##"a*c"}  # 輸出abbc,def,ghi,abcjkl 同理
echo ${str#*a*c*}   # 空
echo ${str##*a*c*}  # 空
echo ${str#d*f)     # 輸出abbc,def,ghi,abcjkl,
echo ${str#*d*f}    # 輸出,ghi,abcjkl
echo ${str%a*l}     # abbc,def,ghi  一個百分號(%)表示從右邊截取最短的匹配
echo ${str%%b*l}    # a             兩個百分號表示(%%)表示從右邊截取最長的匹配
echo ${str%a*c}     # abbc,def,ghi,abcjkl
可以這樣記憶, 井號(#)通常用于表示一個數字,它是放在前面的;百分號(%)卸載數字的后面; 或者這樣記憶,在鍵盤布局中,井號(#)總是位于百分號(%)的左邊(即前面) 

5. 字符串替換
復制代碼 代碼如下:
str="apple, tree, apple tree"
echo ${str/apple/APPLE}   # 替換第一次出現的apple
echo ${str//apple/APPLE}  # 替換所有apple
echo ${str/#apple/APPLE}  # 如果字符串str以apple開頭,則用APPLE替換它
echo ${str/%apple/APPLE}  # 如果字符串str以apple結尾,則用APPLE替換它

6. 比較
復制代碼 代碼如下:
[[ "a.txt" == a* ]]        # 邏輯真 (pattern matching)
[[ "a.txt" =~ .*/.txt ]]   # 邏輯真 (regex matching)
[[ "abc" == "abc" ]]       # 邏輯真 (string comparision)
[[ "11" < "2" ]]           # 邏輯真 (string comparision), 按ascii值比較

7. 連接
復制代碼 代碼如下:
s1="hello"
s2="world"
echo ${s1}${s2}   # 當然這樣寫 $s1$s2 也行,但最好加上大括號

8.將一批文件中的所有string替換

復制代碼 代碼如下:
for i in file_list
do
vi $i <<-!
:g/xxxx/s//XXXX/g
:wq
!
done

9.翻轉

方法一:
使用rev命令

方法二:
編寫腳本實現

復制代碼 代碼如下:
#!/usr/bin/awk -f
################################################################
# Description : duplicate rev in awk
################################################################
{
revline = ""
for (i=1;i<=length;i++)
{
revline = substr(,i,1) revline
}
}
END{print revline}


10.匹配

復制代碼 代碼如下:
grep
egrep
fgrep

11.得到字符串中某個字符的重復次數

復制代碼 代碼如下:
echo $a |tr "x" "/n" |wc -l

得到的結果需要減去1
或者
復制代碼 代碼如下:
echo $a |awk -F"x" '{print NF-1}'


12.如何將字符串內每兩個字符中間插入一個字符
使用sed

復制代碼 代碼如下:
echo $test |sed 's/../&[insert char]/g'

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品伦子伦免费视频| 青青久久av北条麻妃海外网| 亚洲成人黄色网址| 亚洲国产精品人久久电影| 中文字幕综合在线| 久久人人爽国产| 欧美激情2020午夜免费观看| 久久精品电影一区二区| 97高清免费视频| 7777精品视频| 日韩av资源在线播放| 欧美日韩在线视频一区二区| 欧美性高潮在线| 久久全国免费视频| 精品女厕一区二区三区| 亚洲国产精品999| 国产精品成人国产乱一区| 亚洲日本成人女熟在线观看| 久久躁日日躁aaaaxxxx| 欧美午夜精品在线| 亚洲精品免费在线视频| 国产日产久久高清欧美一区| 中文字幕无线精品亚洲乱码一区| 色琪琪综合男人的天堂aⅴ视频| 久久人91精品久久久久久不卡| 国产免费一区二区三区在线观看| 日韩美女av在线| 欧美猛男性生活免费| 久久久久久久久久婷婷| 亚洲经典中文字幕| 国产xxx69麻豆国语对白| 黄色一区二区三区| 日韩中文字幕视频在线观看| 国产精品wwww| 亚洲精品一区在线观看香蕉| 在线观看精品国产视频| 欧美高清视频免费观看| 57pao国产成人免费| 91精品国产乱码久久久久久久久| 一区二区三区天堂av| 国产色视频一区| 亚洲一区制服诱惑| 国产精品成人免费电影| 一区二区欧美久久| 国产免费一区二区三区在线观看| 欧美日韩中文字幕综合视频| 亚洲综合在线小说| 亚洲电影免费在线观看| 亚洲free性xxxx护士白浆| 亚洲国产天堂网精品网站| 欧美乱人伦中文字幕在线| 免费97视频在线精品国自产拍| 国产日韩欧美中文在线播放| 精品中文字幕在线2019| 欧美日韩中文字幕在线| 日韩欧美精品中文字幕| 欧美大奶子在线| 亚洲欧洲xxxx| 国产网站欧美日韩免费精品在线观看| 日韩欧美在线视频日韩欧美在线视频| 久久久电影免费观看完整版| 日韩av中文字幕在线播放| 久久精品在线播放| 国产成人亚洲综合91精品| 精品无人区太爽高潮在线播放| 中文字幕视频在线免费欧美日韩综合在线看| 成人xxxxx| 精品无人区太爽高潮在线播放| 69av在线播放| 欧美性猛交xxxx偷拍洗澡| 8x拔播拔播x8国产精品| 欧美激情视频免费观看| 欧美放荡办公室videos4k| 国产精品久久久久av| 日韩精品免费在线视频| 亚洲视频在线看| 在线观看91久久久久久| 最近2019中文字幕一页二页| 91久久久久久国产精品| 亚州精品天堂中文字幕| 亚洲美女性生活视频| 欧美在线www| 亚洲一区精品电影| 精品国产电影一区| 影音先锋日韩有码| 久久电影一区二区| 亚洲午夜精品视频| 精品国产福利在线| 国产一区二区色| 国产女同一区二区| 97精品国产97久久久久久免费| 亚洲天堂男人的天堂| 欧美日韩国产成人在线观看| 欧美成人精品在线视频| 亲爱的老师9免费观看全集电视剧| 欧美在线视频a| 中文字幕欧美视频在线| 91经典在线视频| 国产在线观看一区二区三区| 日韩国产高清污视频在线观看| 欧美在线视频在线播放完整版免费观看| 在线精品播放av| 久久91超碰青草是什么| 亚洲欧洲国产精品| 97婷婷涩涩精品一区| 久久久久久国产精品| 日韩欧美亚洲国产一区| 久久久亚洲福利精品午夜| 在线视频亚洲欧美| 亚洲天堂av在线免费观看| 亚洲精品aⅴ中文字幕乱码| 欧美电影免费看| 久久激情视频久久| 红桃av永久久久| 欧美高清在线播放| 亚洲黄色有码视频| 午夜精品一区二区三区在线| 国产欧美精品一区二区| 55夜色66夜色国产精品视频| 国产成人综合一区二区三区| 国产一区二区香蕉| 在线播放国产精品| 国内外成人免费激情在线视频| 日韩电影大全免费观看2023年上| 国产精品久久久久久久app| 日韩视频免费中文字幕| 亚洲精品久久久久国产| 国内精品久久久久影院 日本资源| 中文字幕日韩av| 欧美电影免费观看大全| 日韩中文字幕网| 国产日韩欧美另类| 一本色道久久88综合日韩精品| 欧美黑人国产人伦爽爽爽| 亚洲国产成人一区| 日韩成人网免费视频| 68精品国产免费久久久久久婷婷| 九九视频这里只有精品| 国模精品一区二区三区色天香| 亚洲qvod图片区电影| 国产精品久久久久福利| 国产精品视频白浆免费视频| 久久久久久久久久亚洲| 欧美理论片在线观看| 久久99精品久久久久久噜噜| 亚洲xxxx做受欧美| 午夜精品三级视频福利| 中文字幕日韩精品在线| 久久视频中文字幕| 久久精品电影一区二区| 亚洲欧美综合精品久久成人| 久青草国产97香蕉在线视频| 久久久久久久久久婷婷| 国产精品第七影院| 北条麻妃一区二区在线观看| 欧美在线视频在线播放完整版免费观看| 一本一道久久a久久精品逆3p| 国产美女精品视频免费观看| 国内揄拍国内精品少妇国语| 久久精品久久精品亚洲人| 日韩一区二区三区在线播放| 热门国产精品亚洲第一区在线| 久久不射电影网| 欧美日本国产在线|