Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2501390
  • 博文数量: 709
  • 博客积分: 12251
  • 博客等级: 上将
  • 技术积分: 7905
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-17 00:00
个人简介

实现有价值的IT服务

文章存档

2012年(7)

2011年(147)

2009年(3)

2008年(5)

2007年(74)

2006年(431)

2005年(42)

分类: LINUX

2005-11-13 22:21:34

something about linux shell

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 .
char . lastpos is: 10

则提供了一种比较自力更生的方式:自己用c写了个小程序来实现rindex的功能,gcc rindex.c -o rindex 之后shell就拥有可以调用的rindex了 :)

rindex.c代码:

#include 
int main(int argc, char *argv[]){
    char* wholeWord;
    char subChar;
    char* subWord;

    int ret;

    if(argc!=3){
        printf("Use:rindex word char ");
        exit(0);
    }
    wholeWord=argv[1];
    subChar=*argv[2];
    subWord=rindex(wholeWord,subChar);

    if(0 == subWord)
        ret = 0;
    else
        ret = (subWord-wholeWord+1);
    printf("%d ",ret);
}

阅读(1112) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~