分页: 1 / 2
awk命令正则表达式
发表于 : 2009-08-14 19:21
由 pellicon
下面的另外一个例子是我们在 /etc 目录搜索以 “.conf” 结尾和 “a” 或者 “x” 开头的文件,使用扩展的正则表达式:
kelly is in /etc> ls -l | awk '/\<(a|x).*\.conf$/ { print $9 }'
amd.conf
antivir.conf
xcdroast.conf
xinetd.conf
以上是我看到的一个关于awk命令的例子,但是我在我的电脑上运行,得到的结果却是空空的。如图
有那位知青人世可以给我解决一下这个问题。
Re: awk命令正则表达式
发表于 : 2009-08-14 19:32
由 O_O_BOT
print $8
Re: awk命令正则表达式
发表于 : 2009-08-14 19:58
由 pellicon
O_O_BOT 写了:print $8
结果还是一样啊!

Re: awk命令正则表达式
发表于 : 2009-08-14 21:01
由 O_O_BOT
那你究竟有没有这些文件哦

Re: awk命令正则表达式
发表于 : 2009-08-14 23:58
由 pellicon
O_O_BOT 写了:那你究竟有没有这些文件哦

有的,adduser.conf这个就是其中之一。而且,也可以换成w开头的,可是还是没有结果

Re: awk命令正则表达式
发表于 : 2009-08-15 10:49
由 c\nc
这个,应该是 ls -1 而不是 ls -l 。
代码: 全选
ls -1 | awk '/^(a|x).+\.conf$/{print $1}'
Re: awk命令正则表达式
发表于 : 2009-08-15 10:57
由 O_O_BOT
\< 哦 也可以 ls -l print $8
Re: awk命令正则表达式
发表于 : 2009-08-15 13:29
由 pellicon
c\nc 写了:这个,应该是 ls -1 而不是 ls -l 。
代码: 全选
ls -1 | awk '/^(a|x).+\.conf$/{print $1}'
这样可以得到结果,但是最后的{print $9} 也改成了{print $1}.
/\<(a|x).*\.conf$
/^(a|x).+\.conf$
以上这两个正则表达式有问题么?
ls -l | awk '/^(a|x).+\.conf$/{print $9}'或ls -l | awk '/^(a|x).+\.conf$/{print $8}'也无法得到正确的答案!
同样ls -1 | awk'/\<(a|x).*\.conf$ /{print $1}'也无法得到答案。难道是bash的问题??
Re: awk命令正则表达式
发表于 : 2009-08-15 13:51
由 O_O_BOT
同学 不要乱组合 要搞清楚 意思
ls -1 是单列显示 所以用 ^行头是可以的。文件名在$1
ls -l 是详细显示 有多列 文件名在$8 用\<匹配单词头 而不是用 ^匹配行头
ls -l | awk '/\<(a|x).*\.conf$/ { print $8 }'
没问题
你还是先到 /etc/ 下ls a*.conf x*.conf看看吧
Re: awk命令正则表达式
发表于 : 2009-08-15 14:05
由 pellicon
O_O_BOT 写了:同学 不要乱组合 要搞清楚 意思
ls -1 是单列显示 所以用 ^行头是可以的。文件名在$1
ls -l 是详细显示 有多列 文件名在$8 用\<匹配单词头 而不是用 ^匹配行头
ls -l | awk '/\<(a|x).*\.conf$/ { print $8 }'
没问题
你还是先到 /etc/ 下ls a*.conf x*.conf看看吧
结果还是没变!!!
Re: awk命令正则表达式
发表于 : 2009-08-15 15:08
由 O_O_BOT
那就现看看ls -l 的输出
Re: awk命令正则表达式
发表于 : 2009-08-15 16:00
由 pellicon
O_O_BOT 写了:那就现看看ls -l 的输出
请看
Re: awk命令正则表达式
发表于 : 2009-08-15 16:28
由 O_O_BOT
ls -l 的输出 应该是每个文件一行的
你是不是alias ls了。。。。。
Re: awk命令正则表达式
发表于 : 2009-08-15 17:35
由 pellicon
O_O_BOT 写了:ls -l 的输出 应该是每个文件一行的
你是不是alias ls了。。。。。
我没有这么操作过,ls-1的显示结果就是一个文件一行的
Re: awk命令正则表达式
发表于 : 2009-08-15 17:58
由 O_O_BOT
说了那么就久了 上irc聊吧
看我签名