濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置

Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置

熱門標(biāo)簽:電銷機(jī)器人 劍魚 衛(wèi)星地圖標(biāo)注地名 申請(qǐng)公司400電話要注意什么 地圖標(biāo)注輻射圖案 寧波智能外呼系統(tǒng)公司 安裝外呼系統(tǒng)費(fèi)用 曲阜400電話辦理 聯(lián)通電話機(jī)器人怎么接 奧維互動(dòng)地圖標(biāo)注參數(shù)

需要對(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代碼:

復(fù)制代碼 代碼如下:

#!/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"


使用示例:
復(fù)制代碼 代碼如下:

[zeal]$ sh rindex.sh www.zeali.net .
char . lastpos is: 10

Calfen則提供了一種比較自力更生的方式:自己用c寫了個(gè)小程序來(lái)實(shí)現(xiàn)rindex的功能,gcc rindex.c -o rindex 之后shell就擁有可以調(diào)用的rindex了 :)
rindex.c代碼:

復(fù)制代碼 代碼如下:

#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ù)組的使用操作方法

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置》,本文關(guān)鍵詞  Shell,腳本,實(shí)現(xiàn),查找,字符串,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    石嘴山市| 乌拉特中旗| 叶城县| 宕昌县| 南投市| 荆州市| 高唐县| 临邑县| 深水埗区| 湘阴县| 绍兴县| 上蔡县| 丰宁| 高唐县| 富裕县| 鄢陵县| 九寨沟县| 博客| 加查县| 洪雅县| 岗巴县| 财经| 靖西县| 荣昌县| 吉安市| 方山县| 玉林市| 潢川县| 天祝| 如东县| 龙州县| 松溪县| 响水县| 磴口县| 土默特左旗| 崇左市| 兴和县| 嘉峪关市| 洪泽县| 交城县| 丹阳市|