bash中的awk+locate问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

bash中的awk+locate问题

#1

帖子 eexpress » 2006-08-14 13:35

还有awk只找第一个匹配就退出的控制参数,省得老是用 |head -n 1 过滤。
上次由 eexpress 在 2006-08-14 15:30,总共编辑 2 次。
● 鸣学
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System

Re: bash中的awk问题

#2

帖子 5451vs5451 » 2006-08-14 14:56

eexpress 写了:还有awk只找第一个匹配就退出的控制参数,省得老是用 |head -n 1 过滤。
退出用exit。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2006-08-14 15:19

哦。。那locate 找到一个就退出的,有参数吗。
● 鸣学
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System

#4

帖子 5451vs5451 » 2006-08-14 22:18

eexpress 写了:哦。。那locate 找到一个就退出的,有参数吗。
你不是问awk吗,跟locate有什么关系?

awk -F, '/'$2'/ {print $2; exit}'
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#5

帖子 eexpress » 2006-08-14 23:28

你一说exit。我就想起了。
现在确实是需要locate的。 :lol: 主要是节约时间,不是我还有个问精确时间的帖子吗。就是算这个的。让locate快点退出来。
● 鸣学
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System

#6

帖子 5451vs5451 » 2006-08-15 0:35

locate里没找到这样的参数。不过下面的方法好像可以节省一点时间。

代码: 全选

$ time locate linux > /dev/null

real    0m1.114s
user    0m0.362s
sys     0m0.550s

$ time locate linux | awk '/linux/{print;exit}' > /dev/null

real    0m0.093s
user    0m0.030s
sys     0m0.009s
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
联系:

#7

帖子 laborer » 2006-08-15 0:47

locate有个-n参数,不会你的手册又没有吧
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System

#8

帖子 5451vs5451 » 2006-08-15 0:54

刚才没看见 :em06
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#9

帖子 eexpress » 2006-08-15 15:47

回家看,现在在辛苦辛苦的工作。在win煎熬。
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#10

帖子 eexpress » 2006-08-15 18:38

是有哦。
-n Limit the amount of results shown to
就在-i -q下面。-i -q都用了。呵呵。怎么就是没看见-n。
● 鸣学
回复