find操作问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
ustone
帖子: 307
注册时间: 2007-06-06 18:36

find操作问题

#1

帖子 ustone » 2009-05-04 19:20

我的~目录有一些文件和目录,我刚才用gThumb的“创建网络相册”功能,结果在~目录生成了很多文件,我想把这些文件都mv到~/pp目录中,要怎么操作?

我想用 find ~ -ctime 1 -print
但是2个问题:
1、find没有列出刚刚生成的这些文件,为什么?(Q1)
2、find找到很多子目录下的文件,如果让find不搜索子目录?(Q2)

针对第2个问题,我想暂时先把~目录下所有文件(不包括子目录)都mv到一个目录,要怎么操作?(Q3)
我用 ls -l|grep ^-|cut -d" " -f10 得到的结果是不确定的(不都是文件名),为什么?(Q4)

如果我通过vi的ctrl-v功能编辑出一个文件列表filelist,如何把文件列表里面的文件都mv到~/pp目录?用 xargs或其它命令怎么操作?(Q5)

5个问题,谢谢大家
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: find操作问题

#2

帖子 HuntXu » 2009-05-04 21:30

1.不知道
2.-maxdepth
3. find ~/ -type f ...
4. ls -al|grep ^-|awk '{ print $8 }'
5. for i in `cat FILELIST`;do mv $i ~/pp;done
HUNT Unfortunately No Talent...
ustone
帖子: 307
注册时间: 2007-06-06 18:36

Re: find操作问题

#3

帖子 ustone » 2009-05-05 11:47

好!
从其它帖子得到的回复,
Q1:大概可能是应该用 -ctime -1吧,-ctime n 表示文件状态改变发生在 n*24 小时前,n表示确切的n*24小时,-n表示小于n*24小时,+n表示至少n*24小时。而且n*24是以24为单位取整的,比如-ctime +1表示至少两天前。

有一个问题,q3的find找到的文件也包含了隐藏文件,如何让find排除隐藏文件?
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: find操作问题

#4

帖子 HuntXu » 2009-05-05 13:21

代码: 全选

[hunt@bubble ~]$ O_< find ./ -ctime 0|wc -l
2594
[hunt@bubble ~]$ O_< find ./ -ctime -1|wc -l
2594
q3那个问题的话,在你要找的文件都在./(就是~/)的情况下可以这样做...

代码: 全选

find ./ -path "./[^.]*" -type f -maxdepth 1
HUNT Unfortunately No Talent...
回复