求解:xargs,why? why? why? why? why? why? why?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
tiyuanmaster
帖子: 73
注册时间: 2009-06-14 20:14
联系:

求解:xargs,why? why? why? why? why? why? why?

#1

帖子 tiyuanmaster » 2009-06-29 10:01

holyshit@zohan-laptop:~/Documents$ find -name "aaa" | cat
./aaa
holyshit@zohan-laptop:~/Documents$ find -name "aaa" | xargs cat
abcdefghijklmnopqrstuvwxyz


holyshit@zohan-laptop:~/Documents$ find -name "aaa" | ls -l
total 14252
-rwx------ 1 holyshit zohan 2056374 2009-06-18 22:33 2.bmp
-rwx------ 1 holyshit zohan 2056374 2009-06-18 22:33 3.bmp
-rwx------ 1 holyshit zohan 104890 2009-06-10 17:02 3d.pdf
-rw-r--r-- 1 holyshit zohan 183 2009-06-29 09:59 aaa
-rwx------ 1 holyshit zohan 2056374 2009-06-18 22:34 a.bmp
-rwx------ 1 holyshit zohan 2056374 2009-06-18 22:34 b.bmp
-rwx------ 1 holyshit zohan 2056374 2009-06-18 22:34 c.bmp
-rwx------ 1 holyshit zohan 2056374 2009-06-18 22:34 d.bmp
-rwx------ 1 holyshit zohan 2056374 2009-06-18 22:34 e.bmp

holyshit@zohan-laptop:~/Documents$ find -name "aaa" | xargs ls -l
-rw-r--r-- 1 holyshit zohan 787 2009-06-29 10:00 ./aaa
其实我是不懂装懂的…………………………
头像
tiyuanmaster
帖子: 73
注册时间: 2009-06-14 20:14
联系:

Re: 求解:xargs,why? why? why? why? why? why? why?

#2

帖子 tiyuanmaster » 2009-06-29 10:14

:em24 无人能解释一哈?
其实我是不懂装懂的…………………………
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

Re: 求解:xargs,why? why? why? why? why? why? why?

#3

帖子 solcomo » 2009-06-29 10:19

xargs就是这个功能啊..
解释啥
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
tiyuanmaster
帖子: 73
注册时间: 2009-06-14 20:14
联系:

Re: 求解:xargs,why? why? why? why? why? why? why?

#4

帖子 tiyuanmaster » 2009-06-29 10:23

什么功能?是把前一个命令的输出作为命令的输入?这不是管道的作用吗?
其实我是不懂装懂的…………………………
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 求解:xargs,why? why? why? why? why? why? why?

#5

帖子 xiooli » 2009-06-29 10:26

tiyuanmaster 写了:什么功能?是把前一个命令的输出作为命令的输入?这不是管道的作用吗?
非也,是把前面的输出作为后面命令的参数。
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

Re: 求解:xargs,why? why? why? why? why? why? why?

#6

帖子 bones7456 » 2009-06-29 10:27

很正常,没啥问题啊~
关注我的blog: ε==3
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: 求解:xargs,why? why? why? why? why? why? why?

#7

帖子 billbear » 2009-06-29 11:07

你还没提出问题呢。
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: 求解:xargs,why? why? why? why? why? why? why?

#8

帖子 HuntXu » 2009-06-29 12:17

find -name "aaa" -exec cat {} \;
就和xargs那个一样了...
HUNT Unfortunately No Talent...
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: 求解:xargs,why? why? why? why? why? why? why?

#9

帖子 木泥黑 » 2009-06-29 16:22

xargs命令
1、使用-exec的局限
使用-exec选现将使find将所有匹配到的文件一起传递给exec执行。如果传递的文件名太多,exec可能会发生参数溢出的错误。使用xargs,可以 一批一批地传递参数,不会发生上述问题。
2、举例
find -/ -type f -print | xargs file
头像
tiyuanmaster
帖子: 73
注册时间: 2009-06-14 20:14
联系:

Re: 求解:xargs,why? why? why? why? why? why? why?

#10

帖子 tiyuanmaster » 2009-06-29 20:52

| command 与 |xargs command到底有什么区别呢?使用xargs,可以 一批一批地传递参数,那么|不就是传递参数的吗?
其实我是不懂装懂的…………………………
回复