Chinaunix首页 | 论坛 | 博客
  • 博客访问: 145471
  • 博文数量: 54
  • 博客积分: 2682
  • 博客等级: 少校
  • 技术积分: 580
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-24 20:56
文章分类
文章存档

2012年(2)

2011年(10)

2010年(28)

2009年(14)

我的朋友

分类:

2009-12-03 15:10:01

总是代码级的工作,觉得自己知识面狭窄,以后得加油学习点别的知识了。恩。
 
刚写一脚本,java高级特性的代码里都不带package语句,导致eclipse项目总有问题。解决包路径的脚本
 

#!/bin/bash


for file in `find -type f| grep 'java$'`
do
    echo $file
    file_str=$file
    unset package

    [[ $file_str =~ ^\.\/(.*)$ ]]
    file_str=${BASH_REMATCH[1]}

    until ! [[ $file_str =~ ^.*\/ ]]
    do
        [[ $file_str =~ ^([a-zA-Z0-9]+)\/(.*)$ ]]
        package=$package".${BASH_REMATCH[1]}"
        file_str=${BASH_REMATCH[2]}    
    done

    [[ $package =~ ^\.(.*)$ ]]
    package=${BASH_REMATCH[1]}    
    echo $package    

    #we got package line, we should insert/replace the java file.

    #maybe we need sed/awk

    tmpfile=$TMP"\/tmpfile"
    echo "package $package;" > $tmpfile
    cat $file >> $tmpfile
    cp $tmpfile $file
done

 

有个问题:

1.在正则表达式中,有没有一个正则就能匹配我的需求的?而不是像我这样循环。

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