当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : linux中的awk用法请教
帖子发表于 : 2013-04-15 23:22 
头像

注册: 2010-11-19 22:55
帖子: 413
送出感谢: 10
接收感谢: 1
原字符串如下:(v的前面有空格)
abcdefghijklmnopqrstu vwxyz
用awk处理:
echo "abcdefghijklmnopqrstu vwxyz"|awk -F '\s' '{print $1}'

原来想要把空格当成分割符,打印出第一部分abcdefghijklmnopqrstu(因为\s代表空白符),但是awk似乎把\s当成s了,也就是说,把分割符当成了s,打印出了abcdefghijklmnopqr,为什么?哪位高手可以说一下,十分感谢!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: linux中的awk用法请教
帖子发表于 : 2013-04-15 23:26 
头像

注册: 2010-06-16 1:05
帖子: 14668
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
空格是默认的啊,何必呢。。。而且谁说\s就是空白符的,不是所有程序都认的


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
3 楼 
 文章标题 : Re: linux中的awk用法请教
帖子发表于 : 2013-04-15 23:37 
头像

注册: 2010-04-10 16:14
帖子: 2903
系统: Arch Linux
送出感谢: 8
接收感谢: 69
~> echo "abcdefghijklmnopqrstu vwxyz" | awk -F'\s' '{print $1}'
awk: warning: escape sequence `\s' treated as plain `s'
abcdefghijklmnopqr
~> echo "abcdefghijklmnopqrstu vwxyz" | awk -F'\\s' '{print $1}'
abcdefghijklmnopqrstu

awk 自己给 warning 了都……


_________________
dz,U,EIS. cies.
dz-cies@github
小香猪杀手@cc98.org


页首
 用户资料  
 
4 楼 
 文章标题 : Re: linux中的awk用法请教
帖子发表于 : 2013-04-15 23:39 
头像

注册: 2010-04-10 16:14
帖子: 2903
系统: Arch Linux
送出感谢: 8
接收感谢: 69
而且即使想显示指明用空格,这样就好了吧……
代码:
echo "abcdefghijklmnopqrstu vwxyz" | awk -F' ' '{print $1}'


_________________
dz,U,EIS. cies.
dz-cies@github
小香猪杀手@cc98.org


页首
 用户资料  
 
5 楼 
 文章标题 : Re: linux中的awk用法请教
帖子发表于 : 2013-04-16 9:16 
头像

注册: 2010-11-19 22:55
帖子: 413
送出感谢: 10
接收感谢: 1
susbarbatus 写道:
而且即使想显示指明用空格,这样就好了吧……
代码:
echo "abcdefghijklmnopqrstu vwxyz" | awk -F' ' '{print $1}'

我的最初想法不是这样的,我想在分隔符上用正则


页首
 用户资料  
 
6 楼 
 文章标题 : Re: linux中的awk用法请教
帖子发表于 : 2013-04-16 9:29 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
NewUserFF 写道:
susbarbatus 写道:
而且即使想显示指明用空格,这样就好了吧……
代码:
echo "abcdefghijklmnopqrstu vwxyz" | awk -F' ' '{print $1}'

我的最初想法不是这样的,我想在分隔符上用正则


echo "abcdefghijklmnopqrstu vwxyz" | awk -F'[[:blank:]]' '{print $1}'


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
7 楼 
 文章标题 : Re: linux中的awk用法请教
帖子发表于 : 2013-04-18 15:23 
头像

注册: 2009-06-04 12:06
帖子: 122
送出感谢: 0 次
接收感谢: 3
正则可以啊

代码:
awk -F'\x20| |[[:blank:]]' '{print $1}' <<< "abcdefghijklmnopqrstu vwxyz"


_________________
Mea Culpa!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译