ETL调度开发(3)——清除换行符

和数据库对接的时候,数据库经常会有字符长度的限制,另一方面在部分数据生成过程中清理换行符是因为SHELL生成的字符串有的自动截取并换行了,所以写了个小程序实现清除换行符的功能:

#!/usr/bin/bash
#created by lubinsu
#2014
#clear spaces \n
source ~/.bash_profile
tmpFile=$1.tmp
#echo ${tmpFile}
touch ${tmpFile}
cat $1 | tr -d "\n" > ${tmpFile}
cat ${tmpFile} > $1  
rm -f ${tmpFile}

在该过程中会生成一个临时的中间文件,待换行符替换掉后会写入到对应的文件中。

前面几行的意思是:

#!/usr/bin/bash
使用bash作为shell处理程序

source ~/.bash_profile
加载配置的环境变量

touch ${tmpFile}
创建临时的中间文件,初始为空

tr -d "\n" > ${tmpFile}
-d的意思是 delete,这句表示,删除换行,并将数据保存在刚才创建的临时文件中

cat ${tmpFile} > $1
将文件内容转存到第一个参数指定的文件中

rm -f ${tmpFile}
删除中间文件,无需提示

你可能感兴趣的:(linux,shell,etl)