bbs.ChinaUnix.net
首页 | 微博 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


awk文件对空格与tab区分?

  首页 » 论坛 » Shell »
[打印] [收藏] [本帖文本页] [推荐此主题给朋友]

用awk处理文件时,\t作为分隔符时,空格也被作为分隔符处理了.怎么解决这个问题让空格不被分隔?
__________________________________
心静则明,心明则达也.



:shock: :shock:
__________________________________
心静则明,心明则达也.



比较怪的问题?
__________________________________
心静则明,心明则达也.





QUOTE:
原帖由 AmboLong 于 2009-1-6 22:48 发表
用awk处理文件时,\t作为分隔符时,空格也被作为分隔符处理了.怎么解决这个问题让空格不被分隔?


awk默认用[ \t\n]+分割字段
  1. $ cat a
  2. 123 456 abc def
  3. 44 dd   jkl mn
  4. $ awk -F'\t' '{print $1}' a
  5. 123 456
  6. 44 dd
复制代码
__________________________________
天行健,君子以自强不息
发奋忘食,乐以忘优,不知老之将至
温故而知新



回复 #4 ynchnluiti 的帖子

\n不是换行符么
__________________________________
long time no see ~





QUOTE:
原帖由 我是DBA 于 2009-1-7 07:33 发表
\n不是换行符么


恩跟樓上大哥同樣問題說
雖然平常是以tab 空白為分隔
但awk默认用"[ \t\n]+"分割字段不會和讀進的下一行稿混嗎
有以\n為分隔的例子嗎 疑問中?





QUOTE:
原帖由 ynchnluiti 于 2009-1-6 23:57 发表

awk默认用[ \t\n]+分割字段

$ cat a
123 456 abc def
44 dd   jkl mn
$ awk -F'\t' '{print $1}' a
123 456
44 dd

  1. 默认分隔符应该是awk -F'[\t  ]+'
复制代码
__________________________________
long time no see ~



andy的意思指定默认空格 \n \t 当指定\t 其他就失效了
__________________________________
Shell初学者
シェル初心者



回复 #8 biglazybug 的帖子

这个我也知道,你指定一个,默认的当然失效,现在是讨论默认的分隔符的问题啊。不是说你指定哪个的问题。
__________________________________
long time no see ~



回复 #9 我是DBA 的帖子

默认是[ \t\n]+
__________________________________
Shell初学者
シェル初心者


Copyright © 2001-2010 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP