文件列处理

filename=$1
dst_col=$2
all_col=$3
cut -f 1-`expr $dst_col - 1` -d '|' $filename>$filename'.bak1'    ##切选第1至脱敏列前一列数据
sed 's/$/&|*******/g' $filename'.bak1'>$filename'.bak2'           ##在文件中每一行末尾写入|*******
cut -f `expr $all_col - $dst_col + 1`-$all_col -d '|' $filename>$filename'.bak3'   
sed = $filename'.bak2'|sed 'N;s/\n/|/' >$filename'.bak4'     ##在文件内每一行开头插入序号
sed = $filename'.bak3'|sed 'N;s/\n/|/' >$filename'.bak5'
join -t '|' $filename'.bak4' $filename'.bak5' >$filename'.bak6'  ##两个文件根据第一列内容首位相连合并为一列
cut -f 2-`expr $all_col + 1` -d '|' $filename'.bak6' >$filename'.bak7' 

posted @ 2015-01-28 09:50  CoderLeob  阅读(105)  评论(0)    收藏  举报