kkstar 发表于 2006-2-23 21:08:07

救命啊!!awk排列问题

原文件

111:02-98781999:Williams:Nick:T:35:Computer Officer:14-10-2000
112:02-99893878:Brown:Sarah:B:12:Electrician:09-02-1992
131:02-95673456:Couch:David:A:26:Consultant:23-04-1994
236:02-95437869:Anderson:Sarah:K:19:CEO:21-09-1988
输出结果
111 02-98781999 Williams   Nick   T35Computer Officer 14-10-2000
112 02-99893878 Brown      SarahB 12Electrician            09-02-1992
131 02-95673456 Couch      David   A 26Consultant          23-04-1994
236 02-95437869 AndersonSarahK 19CEO                     21-09-1988
就是要求输出各个域左排列
大虾们帮帮忙啊......要排列整齐的..

lwf163 发表于 2006-2-23 23:20:28

awk -F: '{printf "%d %s %-8s %-5s %c %d %-16s %-s",$1,$2,$3,$4,$5,$6,$7,$8}'

kkstar 发表于 2006-2-23 23:29:59

好像不行 提示这个
awk: cmd. line:1: (FILENAME=records FNR=1) fatal: not enough arguments to satisfy format string
      `%d %s %-8s %-5s %c %d %-16s %-s'
            ^ ran out for this one
:-(:-(:-(

kkstar 发表于 2006-2-24 10:47:43

awk -F: '{printf "%d %s %-8s %-5s %c %d %-16s %-s",$1,$2,$3,$4,$5,$6,$7,$8}'
谢谢lwf163的点拨 问题解决一半了 :)
不过怎么换行?两行都连在一起了...:(

kkstar 发表于 2006-2-24 10:54:30

已经解决
:-)

lwf163 发表于 2006-2-24 17:34:02

呵呵,忘记加\n了,不好意思饿。

kkstar 发表于 2006-2-24 19:09:17

呵呵,忘记加\n了,不好意思饿。
点出了方法就很好了:D
页: [1]
查看完整版本: 救命啊!!awk排列问题