Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置
需要對(duì)字符串查找其中某個(gè)字符最后出現(xiàn)的位置,這個(gè)在PHP (strrpos)或者Perl (rindex)里面都有現(xiàn)成函數(shù)可用的功能,在Shell里面居然一時(shí)想不出個(gè)道道來(lái)。在論壇上發(fā)貼也沒(méi)人解答(不知道是問(wèn)題太簡(jiǎn)單還是真的很高深...)。
因?yàn)槭虑榫o急等不得,于是求救大學(xué)同學(xué)。Pacman不愧是個(gè)中高手,三兩下點(diǎn)醒夢(mèng)中人:
rindex.sh代碼:
#!/bin/bash
strToCheck=$1;
charToSearch=$2;
let pos=`echo "$strToCheck" | awk -F ''$charToSearch'' '{printf "%d", length($0)-length($NF)}'`
echo "char $charToSearch lastpos is: $pos"
使用示例:
[zeal]$ sh rindex.sh www.zeali.net .
char . lastpos is: 10
Calfen則提供了一種比較自力更生的方式:自己用c寫(xiě)了個(gè)小程序來(lái)實(shí)現(xiàn)rindex的功能,gcc rindex.c -o rindex 之后shell就擁有可以調(diào)用的rindex了 :)
rindex.c代碼:
#include <strings.h>
int main(int argc, char *argv[]){
char* wholeWord;
char subChar;
char* subWord;
int ret;
if(argc!=3){
printf("Use:rindex word char\n");
exit(0);
}
wholeWord=argv[1];
subChar=*argv[2];
subWord=rindex(wholeWord,subChar);
if(0 == subWord)
ret = 0;
else
ret = (subWord-wholeWord+1);
printf("%d\n",ret);
}
- Shell獲取字符串長(zhǎng)度的多種方法總結(jié)
- 用Shell判斷字符串包含關(guān)系的方法小結(jié)
- linux shell字符串內(nèi)置的常用操作(獲取長(zhǎng)度、查找、替換)
- Shell中判斷字符串是否為數(shù)字的6種方法分享
- Shell腳本計(jì)算字符串長(zhǎng)度和判斷字符串為空小技巧
- shell編程中的字符串截取方法小結(jié)
- Shell腳本實(shí)現(xiàn)簡(jiǎn)單分割字符串
- Linux shell數(shù)組循環(huán)的實(shí)例詳解
- linux shell實(shí)現(xiàn)求一個(gè)多維數(shù)組中的最大和最小值
- shell腳本編程之?dāng)?shù)組
- Shell中創(chuàng)建序列和數(shù)組(list、array)的方法
- shell腳本字符串和數(shù)組的使用操作方法
相關(guān)文章
Linux用腳本實(shí)現(xiàn)“時(shí)分秒“倒計(jì)時(shí)功能
這篇文章主要介紹了Linux用腳本實(shí)現(xiàn)“時(shí)分秒“倒計(jì)時(shí)功能,本文圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
虛擬機(jī)中使用linux系啟用文件共享之后的文件存在的位置方法
下面小編就為大家?guī)?lái)一篇虛擬機(jī)中使用linux系啟用文件共享之后的文件存在的位置方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
阿里云云服務(wù)器Linux系統(tǒng)更新yum源Shell腳本
這篇文章主要介紹了阿里云云服務(wù)器Linux系統(tǒng)更新yum源Shell腳本,阿里云自建了一個(gè)包含大多數(shù)系統(tǒng)更新的本地yum源,速度快又好用,需要的朋友可以參考下2014-09-09
Linux基礎(chǔ)命令last 命令實(shí)例詳解
Linux last命令用于顯示系統(tǒng)開(kāi)機(jī)以來(lái)獲是從每月初登入者的訊息。本文主要給大家介紹Linux基礎(chǔ)命令last 命令實(shí)例詳解,感興趣的朋友跟隨小編一起看看吧2018-10-10

