改进file_operate

来源:互联网 发布:d3.js 绘制 编辑:程序博客网 时间:2024/05/20 06:08
#########################################################################
# File Name: opearate.sh
# Author: ma6174
# mail: ma6174@163.com
# Created Time: 2015年02月02日 星期一 14时59分41秒
#########################################################################
#!/bin/bash
echo "1:execute\n"
echo "2:lib\n"
echo "3:include\n"
echo "4:sourse\n"
read i
echo "inputdir"
read -t 3 inputdir
echo "outputdir"
read -t 3 outputdir
SECONDS=0
if [ !$input ]; then
    input="./"
fi
##########################################################################
#move all executable file to outputdir
if [ $i -eq 1 ]; then
    if [ !$output ]; then
        outputdir="./bin"
        mkdir ./bin
    fi
    for file in `ls -F $inputdir`
    do
        if [ -x $file -a ! -d $file ]; then
            filelist[$i]=$file
            ne=`expr $ne + 1`
            mv $file "$outputdir"
            echo "$(date):***mv $file to $outputdir">>log
        fi
    done
    echo "totally $ne files"
fi
##########################################################################
#move all lib file to outputdir
if [ $i -eq 2 ]; then
    if [ !$output ]; then
        outputdir="./lib"
        mkdir ./lib
    fi
    for file in `ls $inputdir | grep lib*.*`
    do
            nl=`expr $nl + 1`
            mv $file "$outputdir"
#            echo "$(date):***mv $file to $outputdir">>log
    done
    echo "totally $nl files"
fi
##########################################################################
#move all source file to outputdir
types=($(awk '{print $0}' type))
if [ $i -eq 3 ]; then
    if [ !$output ]; then
        outputdir="./source"
        mkdir ./source
    fi
    for type in ${types[*]}
    do
        for file in `ls $inputdir | grep *."$type"`
        do
            ns=`expr $ns + 1`
            mv $file "$outputdir"
            echo "$(date):***mv $file to $outputdir">>log
        done
    done
    echo "totally $ns files"
fi
##########################################################################
#move all include file to outputdir
if [ $i -eq 4 ]; then
    if [ !$output ]; then
        outputdir="./include"
        mkdir ./include
    fi
    types=($(awk '{print $0}' type))
    for type in ${types[*]}
    do
        for file in `ls $inputdir | grep *."$type"`
        do
            ni=`expr $ni + 1`
            mv $file "$outputdir"
            echo "$(date):***mv $file to $outputdir">>log
        done
    done
    echo "totally $ni files"
fi
echo "consume time :$SECONDS "
0 0
原创粉丝点击