免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4102 | 回复: 6
打印 上一主题 下一主题

path里面有空格,怎么find [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-22 16:53 |只看该作者 |倒序浏览
本帖最后由 饭碗儿 于 2011-04-22 17:00 编辑

有一个目录list, 文件名2.txt
/home/data/aa bb
/home/data/aa cc
……

想在这些目录里找出+90天的文件。
最先发现
  1. [root@fan-linux data]# for i in `cat 2.txt `;do find find $i -type f -name abc;done
  2. find: find: No such file or directory
  3. find: /home/data/aa: No such file or directory
  4. find: find: No such file or directory
  5. find: bb: No such file or directory
  6. find: find: No such file or directory
  7. find: /home/data/aa: No such file or directory
  8. find: find: No such file or directory
  9. find: cc: No such file or directory
复制代码
用for循环不行,用while循环可以,但是传给find的时候空格还是不行。。。
  1. [root@fan-linux data]# while read i;do echo $i;done<2.txt
  2. /home/data/aa bb
  3. /home/data/aa cc
  4. [root@fan-linux data]# while read i;do find $i -type f -name abc;done<2.txt         
  5. find: /home/data/aa: No such file or directory
  6. find: bb: No such file or directory
  7. find: /home/data/aa: No such file or directory
  8. find: cc: No such file or directory
复制代码
这可怎么办?

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2011-04-22 17:03 |只看该作者
find "$i"

论坛徽章:
0
3 [报告]
发表于 2011-04-22 17:06 |只看该作者
二楼的给力,我有一次也遇到这样的情况,郁闷了,直接用php了

[rainbird@rainbird-desk tmp]$ cat a.txt
./data/aa bb
./data/aa cc
[rainbird@rainbird-desk tmp]$ cat a.php
<?php
$paths = file('a.txt');
foreach($paths as $path){
    system('find "'.trim($path).'" -type f');
}
[rainbird@rainbird-desk tmp]$ php a.php
./data/aa bb/abc
./data/aa cc/aaaa
[rainbird@rainbird-desk tmp]$

论坛徽章:
0
4 [报告]
发表于 2011-04-22 17:06 |只看该作者
while read i;do find ”$i“ -type f -name abc;done<2.txt

论坛徽章:
0
5 [报告]
发表于 2011-04-22 17:09 |只看该作者
貌似
find -path '$i' -type f -name abc 这样写可以?
但是脚本到solaris 10里,没有这个-path参数?
纠结

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [报告]
发表于 2011-04-22 17:11 |只看该作者
有一个目录list, 文件名2.txt
/home/data/aa bb
/home/data/aa cc
……

想在这些目录里找出+90天的文 ...
饭碗儿 发表于 2011-04-22 16:53


这样可以吗?
$ cat f2.txt
./aa bb
./aa cc

目录下有这些档案
$ ls aa*/* |xargs -i echo {}
aa bb/abc
aa bb/abc1
aa cc/abc
aa cc/abc1

find结果...
$ cat f2.txt | xargs -i find {} -type f -name abc
./aa bb/abc
./aa cc/abc

论坛徽章:
0
7 [报告]
发表于 2011-04-23 10:51 |只看该作者
2楼神迹。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP