2008年11月20日星期四
2008年11月2日星期日
find的exec选项
find可以跟一个exec选项来执行命令,这个功能是十分有用的,语法是:
不过很多地方并没有把-exec的内容的写法说得特别明白,往往都只是举了一个rm的例子,如果要执行其它命令的话可能就有一点迷糊。实际上“举一反三”在这里还是很有用的:观察上面的语句,可以猜测{}就代表了find的结果,只要把{}排在语句里面就OK了。下面举一个简单的例子:目录A中有一堆今天下载的文件名为乱码的rar压缩档,还有一堆昨天下载的文件名为乱码的rar。我想把今天下载的这些rar拷贝到根用户的目录中,可以执行下面的命令:
搞明白-exec的写法后,find+命令执行基本上可以无敌了:_P
注:-ok是-exec的安全形式,操作每一个文件前会现询问
find pathname search-arg -exec shellcommand {} \;
不过很多地方并没有把-exec的内容的写法说得特别明白,往往都只是举了一个rm的例子,如果要执行其它命令的话可能就有一点迷糊。实际上“举一反三”在这里还是很有用的:观察上面的语句,可以猜测{}就代表了find的结果,只要把{}排在语句里面就OK了。下面举一个简单的例子:目录A中有一堆今天下载的文件名为乱码的rar压缩档,还有一堆昨天下载的文件名为乱码的rar。我想把今天下载的这些rar拷贝到根用户的目录中,可以执行下面的命令:
find /A -name "*.rar" -mtime -1 -ok sudo cp {} /root \;
搞明白-exec的写法后,find+命令执行基本上可以无敌了:_P
注:-ok是-exec的安全形式,操作每一个文件前会现询问
订阅:
博文 (Atom)