婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Shell腳本實現查找字符串中某字符最后出現的位置

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

熱門標簽:電銷機器人 劍魚 衛星地圖標注地名 申請公司400電話要注意什么 地圖標注輻射圖案 寧波智能外呼系統公司 安裝外呼系統費用 曲阜400電話辦理 聯通電話機器人怎么接 奧維互動地圖標注參數

需要對字符串查找其中某個字符最后出現的位置,這個在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獲取字符串長度的多種方法總結
  • 用Shell判斷字符串包含關系的方法小結
  • linux shell字符串內置的常用操作(獲取長度、查找、替換)
  • Shell中判斷字符串是否為數字的6種方法分享
  • Shell腳本計算字符串長度和判斷字符串為空小技巧
  • shell編程中的字符串截取方法小結
  • Shell腳本實現簡單分割字符串
  • Linux shell數組循環的實例詳解
  • linux shell實現求一個多維數組中的最大和最小值
  • shell腳本編程之數組
  • Shell中創建序列和數組(list、array)的方法
  • shell腳本字符串和數組的使用操作方法

標簽:遵義 大興安嶺 江西 仙桃 三門峽 安康 大慶 上饒

巨人網絡通訊聲明:本文標題《Shell腳本實現查找字符串中某字符最后出現的位置》,本文關鍵詞  Shell,腳本,實現,查找,字符串,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell腳本實現查找字符串中某字符最后出現的位置》相關的同類信息!
  • 本頁收集關于Shell腳本實現查找字符串中某字符最后出現的位置的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 开江县| 泰和县| 车致| 应城市| 永兴县| 泸西县| 新巴尔虎左旗| 靖西县| 连平县| 晋宁县| 陇川县| 河间市| 乳源| 子洲县| 乐平市| 南平市| 龙海市| 易门县| 车险| 玛多县| 吉隆县| 寿阳县| 龙泉市| 富源县| 乾安县| 黔东| 涟水县| 香河县| 上高县| 金沙县| 理塘县| 大余县| 萨迦县| 宜兴市| 阜宁县| 山丹县| 涞水县| 高安市| 上杭县| 中阳县| 交口县|