shell generate-document
注意:本篇博客风格(不多比比就是撸代码!!!)
一、generate-document.sh
#!/bin/bash
fileName=$1
append=$2
prefix=$3
rowNum=$4
dtStr=`date +"%Y-%m-%d %H:%M:%S"`
echo -e "\033[31m$dtStr \033[0m\033[33m$fileName文件 追加$append $rowNum行 前缀$prefix $0 running!!\033[0m"
echo -e "\033[31m$dtStr \033[0m\033[33m$fileName文件 追加$append $rowNum行 前缀$prefix $0 running!!\033[0m" >> nohup.out
if [[ $append == false ]];then
> $fileName
fi
for ((i=1;i<=rowNum;i++))
do
if [[ $append == false ]];
then
echo $prefix"_"$i"_"$prefix >> $fileName
else
echo $prefix"_"$i"_"$prefix >> $fileName
fi
echo -ne "$fileName文件 追加$append 进度 [$i/$rowNum]\r"
echo -ne "$fileName文件 追加$append 进度 [$i/$rowNum]\r" >> nohup.out
done
dtStr=`date +"%Y-%m-%d %H:%M:%S"`
echo -e "\033[31m$dtStr \033[0m\033[33m$fileName文件 追加$append $rowNum行 前缀$prefix $0 success!!\033[0m"
echo -e "\033[31m$dtStr \033[0m\033[33m$fileName文件 追加$append $rowNum行 前缀$prefix $0 success!!\033[0m" >> nohup.out
二、clear-document.sh
#!/bin/bash
> nohup.out
rm -rf *.csv
dtStr=`date +"%Y-%m-%d %H:%M:%S"`
echo -e "\033[31m$dtStr \033[0m\033[33m当前目录csv文件已清空 success!!\033[0m"
echo -e "\033[31m$dtStr \033[0m\033[33m当前目录csv文件已清空 success!!\033[0m" >> nohup.out
三、start.sh
#!/bin/bash
# 指定文件1名称
fileName1="a.csv"
# 设置文件1行数
rowNum1=1000000
# 指定文件2名称
fileName2="b.csv"
# 设置文件2行数
rowNum2=100000
# 设置交集行数
intersectionRowNum=50000
prefix1=${fileName1%.*}
prefix2=${fileName2%.*}
appendNum1=$[$rowNum1-$intersectionRowNum]
appendNum2=$[$rowNum2-$intersectionRowNum]
dtStr=`date +"%Y-%m-%d %H:%M:%S"`
echo -e "\033[31m$dtStr \033[0m\033[33m开始执行 generate-document.sh 脚本!!\033[0m"
echo -e "\033[31m$dtStr \033[0m\033[33m开始执行 generate-document.sh 脚本!!\033[0m" >> nohup.out
./generate-document.sh $fileName1 false 交集 $intersectionRowNum
./generate-document.sh $fileName2 false 交集 $intersectionRowNum
./generate-document.sh $fileName1 true $prefix1 $appendNum1
./generate-document.sh $fileName2 true $prefix2 $appendNum2