关于管道传递结果的疑问?
- pshvvvv
- 帖子: 308
- 注册时间: 2009-02-23 21:58
- 联系:
关于管道传递结果的疑问?
1.如果将管道的结果传递给多参数的命令呢??
打个比方:我用grep搜索 然后将搜索到的结果全部拷贝到一个地方,,也就是说我如何将搜索到的结果传递给COPY的源呢??查了资料 没查到 请知道的指点下,谢谢!!!
打个比方:我用grep搜索 然后将搜索到的结果全部拷贝到一个地方,,也就是说我如何将搜索到的结果传递给COPY的源呢??查了资料 没查到 请知道的指点下,谢谢!!!
上次由 pshvvvv 在 2009-06-11 14:56,总共编辑 1 次。
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
只有偏执狂才能成功!!!
- darasion
- 帖子: 1153
- 注册时间: 2007-12-05 12:25
Re: 关于管道传递结果的疑问?
搜索用 find 来做阿。
比如我要从/etc里边查找*.conf文件,全部复制到~/Documents/目录,就可以这样:
注意后边的 \; 以及\;前边的空格不可省略。[/size]
比如我要从/etc里边查找*.conf文件,全部复制到~/Documents/目录,就可以这样:
代码: 全选
find /etc -type f -name *.conf -exec cp {} ~/Documents/ \;
- pshvvvv
- 帖子: 308
- 注册时间: 2009-02-23 21:58
- 联系:
Re: 关于管道传递结果的疑问?
-exec,可以执行命令。。我怎么没想到 恩,谢谢拉
对了,可以直接用{}来代替吗?还是只能用find,不能用其他过滤器?
恩,谢谢了 ,我去实验下
对了,可以直接用{}来代替吗?还是只能用find,不能用其他过滤器?
恩,谢谢了 ,我去实验下
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
只有偏执狂才能成功!!!
- jioyo源
- 帖子: 3476
- 注册时间: 2008-10-08 13:48
Re: 关于管道传递结果的疑问?
find下{}表示当然所找到的文件名……pshvvvv 写了:-exec,可以执行命令。。我怎么没想到 恩,谢谢拉
对了,可以直接用{}来代替吗?还是只能用find,不能用其他过滤器?
恩,谢谢了 ,我去实验下
--------------------------------------
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 关于管道传递结果的疑问?
也可以用 cpio:
代码: 全选
find . -name '*.conf' | cpio -pd target_directory
grep some_pattern file | cpio -pd target_directory
- pshvvvv
- 帖子: 308
- 注册时间: 2009-02-23 21:58
- 联系:
Re: 关于管道传递结果的疑问?
这个find命令 为什么我改为其他类型 必须加单引号‘ 不加不行 双引号“也不行???
可是直接搜索*.conf 什么不加就能搜出来,奇怪啊
可是直接搜索*.conf 什么不加就能搜出来,奇怪啊
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
只有偏执狂才能成功!!!
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
- pshvvvv
- 帖子: 308
- 注册时间: 2009-02-23 21:58
- 联系:
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- pshvvvv
- 帖子: 308
- 注册时间: 2009-02-23 21:58
- 联系:
Re: 关于管道传递结果的疑问?
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
只有偏执狂才能成功!!!
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 关于管道传递结果的疑问?
应该是单引号和双引号都可以,除非你想搜索带 $ 符号的文件名,它应该用单引号。pshvvvv 写了:这个find命令 为什么我改为其他类型 必须加单引号‘ 不加不行 双引号“也不行???
可是直接搜索*.conf 什么不加就能搜出来,奇怪啊
至于 *.conf 可以不加引号,是因为你在执行 find 命令时,当前目录下没有以 .conf 结尾的文件名,这样它就原样传给了 find。
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 关于管道传递结果的疑问?
第二个问题没看懂你的意图。pshvvvv 写了:我第二个问题,怎么没人回答
- jioyo源
- 帖子: 3476
- 注册时间: 2008-10-08 13:48
Re: 关于管道传递结果的疑问?
代码: 全选
2.如何我搜索文件,我如果将我搜索到的文件的文件名取出来呢?比如我把搜索到的名字重定向到一个文件夹
--------------------------------------
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286
- HuaChong
- 帖子: 493
- 注册时间: 2006-09-12 17:10
Re: 关于管道传递结果的疑问?
不加单引号也是可以的,只不过*要转义一下不要被bash认出来就可以了,比如楼上的回答也可以这样
代码: 全选
find -name \*.conf#其他略
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: 关于管道传递结果的疑问?
xargs
eg.
find -print0 | xargs -0 stat
eg.
find -print0 | xargs -0 stat
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。