我想find一个目录中的图像文件的数量。 我结束了使用这个: find . -type f -exec file {} \; | grep -c -i 'image' 这感觉就像一个低效率的做法。 我可以想办法做到这一点 – 使用一个OR语句,但是我不能从man page中弄清楚如何做到这一点。 任何想法如何更有效地做到这一点? 我不想在具有相当大数量的文件的目录上执行上述命令,并且永久占用它。
我有一个深层复杂的文件系统,其中有一些文件被意外地写入root。 我想将这些文件的所有权一次性更改回原始所有者。 我正在玩命令,如: find /folder -type f | xargs ls -l | grep "root root" 但也有很多垃圾出来了。 我想先列出一个列表,然后在确认后只更改列表中的文件。
我有一个包含许多文件的文件夹。 我想删除超过30天的文件,所以我使用下面的命令: find cache/ -mtime +30 -exec rm {} \; 但是,我的SSH会话在命令完成之前断开连接。 如何限制一次删除的文件数量? 例如: find cache/ -mtime +30 -LIMIT 10000 -exec rm {} \;
我感兴趣的是在一个模式的目录中recursion地刷新一个string,然后把匹配的文件复制到目标目录。 我以为我可以做类似下面的事情,但是对于linux的查找工具似乎没有意义: find . -type f -exec grep -ilR "MY PATTERN" | xargs cp /dest/dir 有没有更好的方法去做这件事? 或者甚至是一种方法,将是一个坚实的开始。
我有一个bash脚本,我需要帮助: #!/bin/bash if [ -f "/suid.old" ] then find / -perm -4000 -o -perm -2000 ls > suid.old else find / -perm 4000 -o -perm -2000 ls > suid.new diff suid.old suid.new > newchanges.list fi 当我运行它给了我一个错误说:diff:suid.old:没有这样的文件或目录。 我的脚本应该说,如果suid.old不存在,那么使用find命令创build一个,或者使用find命令来执行suid.new所需的任何操作。 find它所做的任何更改并将其redirect到newchanges.list 请帮忙,
当我运行任何文件夹中的“查找”命令,完美的作品,但只在一个特定的文件夹我得到这个: 根#找 。 find:。:对于定义的数据types,值太大 这是来自另一台服务器nfs的共享文件夹。 随着卸载和安装不能改变任何东西。 这工作之前,但不是现在。 A这是因为“定义数据types的值太大”
我有一堆深度超过10层的文件夹/文件。 如何find指向该文件夹树之外的任何符号链接? 我试过find -type l但是这会返回所有的软链接,甚至是那些目的地在文件夹树中的链接。 谢谢
所以我试图用find命令在mtime -x查找系统中的所有文件。 它这样做,但它不“find”文件的目录。 find . -mtime -2 -exec rsync -av {} /destination/ \; 我想如果我可以把所有的目录,它会喂养他们,如果可以的话,所以我试过: rsync -a -f"+ */" -f"- *" source/ destination/ 这对于引入目录树是一种魅力,但是当我试图将文件拉入它时,它们不会进入单独的目录,它们只是溢出到我复制到的主目录中。 任何想法如何我可以得到find命令find目录也或另一种方式解决这个问题?
我正在检查脚本的输出。 在某些情况下,脚本失败了,某个文件还没有被生成。 我想检查这个文件是否存在于一个目录中,如果不存在,打印目录名称。 目录看起来像: 6680_4#22_SMALT _SMALT之前的所有数字都是可变的(它们是一个唯一的标识符),目录中的文件将如下所示: 6680_4#22.bam 在这种情况下, .bam之前的数字是可变的(它们将匹配目录的前缀,即_SMALT之前的id)。 有类似的问题发布,但我不熟悉bash脚本。 一些解释将是有用的,而且,我的问题似乎更复杂的事实是文件名称的前缀更改。 任何帮助将不胜感激。
执行以下命令按预期工作: find /path/to/logs/ \( -type f -name '*20161005.log' \) -print0 | tar -czvf /path/to/backups/backup_logs_20161005.tar.gz –null -T – 但是,试图在bash脚本中使用这个,我得到一个空的.tar.gz文件: #!/bin/bash now="$(date)" printf "Current date and time: $now" ## working paths LOGSPATH="/path/to/logs/" BACKPATH="/path/to/backups/" ## date to work with DATETIME=`date -d "yesterday 13:00 " '+%Y%m%d'` ## find files matching the working date and .tar.gz the result printf "\nStarting […]