LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1209|回复: 7

求教如何格式化下列文本?使用vim,sed实现都可以.

[复制链接]
发表于 2006-11-8 14:19:02 | 显示全部楼层 |阅读模式
要求:一行6个数据,数据间用TAB制表符间隔.

[PHP]name
owner
species
sex
birth
death

Fluffy
Harold
cat
f
1993-02-04
\N

Claws
Gwen
cat
m
1994-03-17
\N

Buffy
Harold
dog
f
1989-05-13
\N

Fang
Benny
dog
m
1990-08-27
\N

Bowser
Diane
dog
m
1979-08-31
1995-07-29

Chirpy
Gwen
bird
f
1998-09-11
  \N

Whistler
Gwen
bird
  
1997-12-09
\N

Slim
Benny
snake
m
1996-04-29
\N  

[/PHP]
发表于 2006-11-8 14:37:36 | 显示全部楼层
tr "\n" "\t" <file | sed "s/\t\t/\n/g" >file.new
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-8 16:32:49 | 显示全部楼层
谢谢!
不过所有数据还是一行。
回复 支持 反对

使用道具 举报

发表于 2006-11-8 16:51:33 | 显示全部楼层
你把双引号改为单引号看看,我在cmd.exe下测试可以。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-8 17:51:54 | 显示全部楼层
sed 似乎没有起作用阿
[PHP]cunzhang@debian:~$ tr '\n' '\t'<a
Fluffy  Harold  cat     f       1993-02-04      NULL    Claws   Gwen    cat     m       1994-03-17      NULL Buffy    Harold  dog     f       1989-05-13      NULL    Fang    Benny   dog     m       1990-08-27      NULL Bowser   Diane   dog     m       1979-08-31      1995-07-29      Chirpy  Gwen    bird    f       1998-09-11   NULL     Whistler        Gwen    bird    1997-12-09      NULL    Slim    Benny   Fluffy  Harold  cat     f    1993-02-04       NULL    Claws   Gwen    cat     m       1994-03-17      NULL    Buffy   Harold  dog     f    1989-05-13       NULL    Fang    Benny   dog     m       1990-08-27      NULL    Bowser  Diane   dog     m    1979-08-31       1995-07-29      Chirpy  Gwen    bird    f       1998-09-11      NULL    Whistler        Gwen bird     1997-12-09      NULL    Slim    Benny   snake   m       1996-04-29      NULL       cunzhang@debian:~$
cunzhang@debian:~$ tr '\n' '\t'<a|sed 's/\t\t/\n/g'
Fluffy  Harold  cat     f       1993-02-04      NULL    Claws   Gwen    cat     m       1994-03-17      NULL Buffy    Harold  dog     f       1989-05-13      NULL    Fang    Benny   dog     m       1990-08-27      NULL Bowser   Diane   dog     m       1979-08-31      1995-07-29      Chirpy  Gwen    bird    f       1998-09-11   NULL     Whistler        Gwen    bird    1997-12-09      NULL    Slim    Benny   Fluffy  Harold  cat     f    1993-02-04       NULL    Claws   Gwen    cat     m       1994-03-17      NULL    Buffy   Harold  dog     f    1989-05-13       NULL    Fang    Benny   dog     m       1990-08-27      NULL    Bowser  Diane   dog     m    1979-08-31       1995-07-29      Chirpy  Gwen    bird    f       1998-09-11      NULL    Whistler        Gwen bird     1997-12-09      NULL    Slim    Benny   snake   m       1996-04-29      NULL       cunzhang@debian:~$
[/PHP]
回复 支持 反对

使用道具 举报

发表于 2006-11-8 18:05:21 | 显示全部楼层
能不能把a附上看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-8 19:48:43 | 显示全部楼层
a 内容如下:
[PHP]cunzhang@debian:~$ cat a
Fluffy
Harold
cat
f
1993-02-04
NULL
Claws
Gwen
cat
m
1994-03-17
NULL
Buffy
Harold
dog
f
1989-05-13
NULL
Fang
Benny
dog
m
1990-08-27
NULL
Bowser
Diane
dog
m
1979-08-31
1995-07-29
Chirpy
Gwen
bird
f
1998-09-11
NULL
Whistler
Gwen
bird
1997-12-09
NULL
Slim
Benny
Fluffy
Harold
cat
f
1993-02-04
NULL
Claws
Gwen
cat
m
1994-03-17
NULL
Buffy
Harold
dog
f
1989-05-13
NULL
Fang
Benny
dog
m
1990-08-27
NULL
Bowser
Diane
dog
m
1979-08-31
1995-07-29
Chirpy
Gwen
bird
f
1998-09-11
NULL
Whistler
Gwen
bird
1997-12-09
NULL
Slim
Benny
snake
m
1996-04-29
NULL
   cunzhang@debian:~$          [/PHP]
回复 支持 反对

使用道具 举报

发表于 2006-11-8 19:56:30 | 显示全部楼层
和第一个文件不同,当中没空行分隔,那当然不管用了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表