总是代码级的工作,觉得自己知识面狭窄,以后得加油学习点别的知识了。恩。
刚写一脚本,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) |