分页: 1 / 1

我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-17 20:33
zhubaotian
我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里
find /home -name "*.c" -print
该怎么写呢?
先谢谢大家

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-17 20:41
qiang_liu8183

代码: 全选

cp `find /home -name *.c` "PATH"

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-17 21:07
onlylove
把cp命令换成mv的话就是移动了,楼上是复制命令

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-17 21:35
xkz1986
find /home -name *.c -exec cp {} 目标文件夹 \;

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-17 22:50
lilydjwg

代码: 全选

cp /home/**/*.c some_place
zsh 有效。

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-19 21:08
zhubaotian
qiang_liu8183 写了:

代码: 全选

cp `find /home -name *.c` "PATH"

代码: 全选

[root@localhost ~]# cp "find /home -name "*.c""  /myc
cp: 无法 stat “find /home -name *.c”: 没有那个文件或目录
[root@localhost ~]# cp 'find /home -name "*.c"'  /myc
cp: 无法 stat “find /home -name "*.c"”: 没有那个文件或目录

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-19 21:10
zhubaotian
xkz1986 写了:find /home -name *.c -exec cp {} 目标文件夹 \;
谢谢 不知道 -exec 后面是什么意思

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-19 21:29
rackingroll
zhubaotian 写了:
qiang_liu8183 写了:

代码: 全选

cp `find /home -name *.c` "PATH"

代码: 全选

[root@localhost ~]# cp "find /home -name "*.c""  /myc
cp: 无法 stat “find /home -name *.c”: 没有那个文件或目录
[root@localhost ~]# cp 'find /home -name "*.c"'  /myc
cp: 无法 stat “find /home -name "*.c"”: 没有那个文件或目录
哥们命理些错了,应该是

代码: 全选

cp `find /home -name "*.c"`  /myc
而不是

代码: 全选

cp "find /home -name "*.c""  /myc
或者

代码: 全选

cp 'find /home -name "*.c"'  /myc

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-19 21:43
枫叶饭团
zhubaotian 写了:
xkz1986 写了:find /home -name *.c -exec cp {} 目标文件夹 \;
谢谢 不知道 -exec 后面是什么意思
cp复制。。。

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-19 22:47
xkz1986
zhubaotian 写了:
xkz1986 写了:find /home -name *.c -exec cp {} 目标文件夹 \;
谢谢 不知道 -exec 后面是什么意思
-exec 是find的参数,表示对找到的文件执行后面的命令;
cp就是copy了;
{} 代表找到的文件;
目标文件夹就是目标文件夹了;
至于\;我也不知道,只知道一定要加上 :em01

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-20 19:05
hellojinjie
rackingroll 写了:
zhubaotian 写了:
qiang_liu8183 写了:

代码: 全选

cp `find /home -name *.c` "PATH"

代码: 全选

[root@localhost ~]# cp "find /home -name "*.c""  /myc
cp: 无法 stat “find /home -name *.c”: 没有那个文件或目录
[root@localhost ~]# cp 'find /home -name "*.c"'  /myc
cp: 无法 stat “find /home -name "*.c"”: 没有那个文件或目录
哥们命理些错了,应该是

代码: 全选

cp `find /home -name "*.c"`  /myc
而不是

代码: 全选

cp "find /home -name "*.c""  /myc
或者

代码: 全选

cp 'find /home -name "*.c"'  /myc
OR this one:

代码: 全选

cp $(find /home -name "*.c")  /myc

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-20 19:08
hellojinjie
xkz1986 写了:
zhubaotian 写了:
xkz1986 写了:find /home -name *.c -exec cp {} 目标文件夹 \;
谢谢 不知道 -exec 后面是什么意思
-exec 是find的参数,表示对找到的文件执行后面的命令;
cp就是copy了;
{} 代表找到的文件;
目标文件夹就是目标文件夹了;
至于\;我也不知道,只知道一定要加上 :em01
Both of these constructions might need to be escaped (with a `\') or quoted to protect them from expansion by the shell.

Re: 我用find找到了home下的.c文件 怎么全部拷贝到一个文件夹里

发表于 : 2011-10-23 11:33
tusooa
find /home -name '*.c' -type f -exec echo cp -v '{}' somewhere/ ';'
要不连目录,也可能拷过去的。要是改mv的话,会出错。
另外建议别都cp到一个地方,容易混乱。还有那cp过去的地方,最好别在/home下。