分页: 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了;
{} 代表找到的文件;
目标文件夹就是目标文件夹了;
至于\;我也不知道,只知道一定要加上

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了;
{} 代表找到的文件;
目标文件夹就是目标文件夹了;
至于\;我也不知道,只知道一定要加上

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下。