91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Shell腳本如何實現查找字符串中某字符最后出現的位置

發布時間:2021-08-27 11:25:14 來源:億速云 閱讀:747 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Shell腳本如何實現查找字符串中某字符最后出現的位置,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

需要對字符串查找其中某個字符最后出現的位置,這個在PHP (strrpos)或者Perl (rindex)里面都有現成函數可用的功能,在Shell里面居然一時想不出個道道來。在論壇上發貼也沒人解答(不知道是問題太簡單還是真的很高深...)。

因為事情緊急等不得,于是求救大學同學。Pacman不愧是個中高手,三兩下點醒夢中人:

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寫了個小程序來實現rindex的功能,gcc rindex.c -o rindex 之后shell就擁有可以調用的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腳本如何實現查找字符串中某字符最后出現的位置”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

夏邑县| 准格尔旗| 醴陵市| 伽师县| 高淳县| 肇源县| 扎兰屯市| 青海省| 陕西省| 茌平县| 肇东市| 镇沅| 潮安县| 平乡县| 蓬莱市| 阿图什市| 登封市| 安塞县| 西青区| 梨树县| 卫辉市| 民县| 永安市| 罗定市| 抚州市| 津市市| 乐昌市| 辉县市| 肥东县| 定兴县| 城步| 罗平县| 南雄市| 金山区| 且末县| 合川市| 冷水江市| 德化县| 布尔津县| 峨眉山市| 苏州市|