Shell自动打包修改文件

每一次写完代码,都需要将代码发给项目负责人合入到svn上。但时间一长,自己就连修改了哪些源文件也不知道了。于是思来想去,还是写一个靠谱的脚本好一些,这样可以减轻脑力的负担,以后这样繁琐的工作就留给脚本去做了,不亦乐哉,所谓穷则思变。

查找修改的文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

#查找在一段时间内修改过的.c和.h文件,并把其导出到对应的目录下

read -p "please input the file which you want to search the modified: "   searchFile
read -p "please input the file which you want to save: "    modifydir
read -p "please input the range day of the file modified: "  withinDay

if [ "$searchFile" == "" ]; then
  searchFile=linux_bcm9970v1
fi

if [ "$modifydir" == "" ]; then
  modifydir=linux_work
fi

if [ "$withinDay" == "" ]; then
  withinDay=2
fi

[ -d $modifydir ] && rm -rf $modifydir && rm -rf $modifydir.tar.gz
mkdir -p $modifydir
current_dir=$(pwd)

findlist=$(find $current_dir/$searchFile -name "*\.[ch]" -mtime  -$withinDay -print)

for list in $findlist
do
  realPath=$(echo $list | sed s/$searchFile/$modifydir/g | sed 's/\/[a-zA-Z0-9_]*\.[ch]//g' )
  [ -d $realPath ] || mkdir -p $realPath
  cp $list $realPath
done

tar -zcvf $modifydir.tar.gz $modifydir

Comments