青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

shell截取字符串最后兩位

Shell是一種命令行解釋器,常用于Unix、Linux系統中 。在Shell編程中,截取字符串是一項非常常見的操作,而截取字符串的最后兩位則是其中一個重要的操作 。本文將從多個角度分析Shell截取字符串最后兩位的方法以及其應用 。一、Shell截取字符串最后兩位的方法
在Shell中,截取字符串最后兩位的方法有很多種,其中較為常見的有以下幾種:

shell截取字符串最后兩位


1.使用expr命令
expr是一個用于數學計算的命令,也可以用于字符串處理 。我們可以使用expr命令截取字符串最后兩位,具體方法如下:
```
str="hello world!"
last_two=`expr substr "$str" $(expr length "$str" - 1) 2`
echo $last_two
```
其中,substr是expr命令的一個子命令,用于截取字符串 。$(expr length "$str" - 1)是用于計算字符串長度減去2的結果,即倒數第二個字符的位置 。2代表截取的字符數 。
2.使用awk命令
awk是一種文本處理工具,也可以用于字符串處理 。我們可以使用awk命令截取字符串最后兩位,具體方法如下:
```
str="hello world!"
last_two=`echo $str | awk '{print substr($0,length-1,2)}'`
echo $last_two
```
其中,substr是awk命令的一個函數,用于截取字符串 。$0代表整個字符串,length代表字符串長度,-1代表倒數第二個字符的位置,2代表截取的字符數 。
3.使用sed命令
sed是一種流編輯器,也可以用于字符串處理 。我們可以使用sed命令截取字符串最后兩位,具體方法如下:
```
str="hello world!"
last_two=`echo $str | sed 's/.*\(..\)$/\1/'`
echo $last_two
```
其中,s是sed命令的一個替換命令,.*代表匹配任意字符,\(..\)$代表匹配最后兩個字符并把它們保存在一個匹配組中,\1代表匹配組中的內容 。
二、Shell截取字符串最后兩位的應用
1.獲取文件名的后綴名
在Shell編程中,常常需要獲取文件的后綴名 。我們可以使用Shell截取字符串最后兩位的方法來獲取文件名的后綴名,具體方法如下:
```
filename="test.txt"
suffix=`echo $filename | awk -F . '{print $NF}'`
echo $suffix
```
其中,-F .代表以點號作為分隔符,$NF代表最后一個字段,即文件名的后綴名 。
2.根據時間戳獲取日期和時間
在Shell編程中,常常需要根據時間戳獲取日期和時間 。我們可以使用Shell截取字符串最后兩位的方法來獲取日期和時間,具體方法如下:
```
timestamp=$(date +%s)
date_str=`date -d @$timestamp "+%Y-%m-%d %H:%M:%S"`
date=`echo $date_str | awk '{print substr($0,1,10)}'`
time=`echo $date_str | awk '{print substr($0,12,8)}'`
echo $date
echo $time
```
其中,$(date +%s)代表獲取當前時間的時間戳,date -d @$timestamp "+%Y-%m-%d %H:%M:%S"代表根據時間戳獲取日期和時間,substr和awk命令用于截取日期和時間 。
【shell截取字符串最后兩位】三、

    猜你喜歡