日期:2014-05-16  浏览次数:20741 次

巧用linux_shell_awk处理文本文件并导入excel
1、首先有一个文本文件,文件名为address.txt,文本内容如下:
Jim the wellsy
100 Pleasent Drive
San Francisco,CA12345

Big  Tony
200 Incognito AVE.
Suburbia,WA 6789

Cousin Vinnie
Vinnie's Auto Shop
300 City Alley
Sosueme, OR 76543


2、编写一个awk文件address.awk来处理这个文本文件,要求输出格式为:
字段与字段之间以制表符分隔
Jim the wellsy  100 Pleasent Drive      San Francisco,CA12345
Big  Tony       200 Incognito AVE.      Suburbia,WA 6789
Cousin Vinnie   Vinnie's Auto Shop      300 City Alley  Sosueme, OR 76543

说明:在处理这个文本文件时,可以将文本文件中的内容当成一条一条的记录以空行来区分:
比如:
Jim the wellsy
100 Pleasent Drive
San Francisco,CA12345

Big  Tony
200 Incognito AVE.
Suburbia,WA 6789
代表两条记录,每条记录三个字段,记录分隔符 RS 设置成 "",即空行,字段与字段之间以换行符来区分,我们可以将字段分隔符 FS 设置成 "\n",
address.awk内容如下:
BEGIN {
    FS="\n"
    RS=""
    ORS=""
}
{
   x=1
   while ( x<NF ) {
   print $x "\t"
   x++
}
   print $NF "\n"
}
执行命令:awk -f address.awk  ../labtxt/address.txt >../labtxt/output.txt
解释:处理文本address.txt并将结果重定向到output.txt文件
3、最后就是将output.txt导入excel了,步骤比较简单:
文件----->打开------>选择分隔符号----->选择tab-----OK