现在有个需求就是需要去ftp上拿到压缩文件,然后解压后在文件中的数据的固定位置加入分隔符,然后在把加了分隔符的文件put到Hive的HDFS上的指定文件夹。假如这个文件里的数据是类似下面这种比较规律长度的,
112234455960okcs
213167258123ncaw
131743727942naia要在这些每行数据的固定位置插入分隔符,比如都在第4,第7,第9的位置,各行的分隔符位置都是一样的。请问整个流程用shell脚本能解决吗??哪位大神赐教一下,或者用其他什么脚本方便些??
112234455960okcs
213167258123ncaw
131743727942naia要在这些每行数据的固定位置插入分隔符,比如都在第4,第7,第9的位置,各行的分隔符位置都是一样的。请问整个流程用shell脚本能解决吗??哪位大神赐教一下,或者用其他什么脚本方便些??
213167258123ncaw
131743727942naia" > /tmp/test.logsed -i 's/\(....\)\(...\)\(..\)/\1:\2:\3/' /tmp/test.log cat /tmp/test.log
输出:
1122:344:55960okcs
2131:672:58123ncaw
1317:437:27942naia
. # 匹配一个非换行符的任意字符
\1代表匹配到的第一个子串,依此类推匹配到的第二个结果就是 \2