在实际的系统中,有可能需要装载的数据文件并不符合多线索的要求,即文件记录中最后一个字段后没有列分割符!如果在Unix或Linux环境下,可以使用awk脚本对文件进行处理,把它转换成符合要求的格式。下面是笔者写的一个例子,跟大家分享。
1. 转换的awk脚本(convert.awk),用于在记录的最后一个字段后添加列分割符:
#convert.awk
BEGIN {
}
# action applied to all input lines
{
str=($1 FS);
for (i = 2; i <= NF; ++i) {
str=(str $i FS);
}
print str;
}
END {
}
2. 一个单线索数据文件region_s.tbl的内容
0|AFRICA|lar deposits. blithely final packages cajole.
1|AMERICA|hs use ironic, even requests.
2|ASIA|ges. thinly even pinto beans ca
3|EUROPE|ly final courts cajole furiously final excuse
4|MIDDLE EAST|uickly special accounts cajole carefully blithely close requests.
3. 执行awk脚本。
cat region_s.tbl | awk -F '|' -f convert.awk > region_m.tbl
4. 执行完转换之后的region_m.tbl的内容
0|AFRICA|lar deposits. blithely final packages cajole.|
1|AMERICA|hs use ironic, even requests.|
2|ASIA|ges. thinly even pinto beans ca|
3|EUROPE|ly final courts cajole furiously final excuse|
4|MIDDLE EAST|uickly special accounts cajole carefully blithely close requests.|
阅读(2295) | 评论(0) | 转发(0) |