我想配置locate以始终排除特定的文件类型。
例如,我想排除“.pyc”“.class”“~”等。
我正在使用此命令删除超过 150 天的文件和文件夹
find /media/Server/VPS/dailySQL/* -mtime +140 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
问题是我收到如下错误
find: `/media/May-08-Sat-2010': No such file or directory
find: `/media/May-11-Tue-2010': No such file or directory
find: `/media/May-12-Wed-2010': No such file or directory
find: `/media/May-13-Thu-2010': No such file or directory
find: `/media/May-14-Fri-2010': No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是为什么
我有一个深层而复杂的文件系统,其中一些文件被 root 意外写入。我想一次性将这些文件的所有权改回原始所有者。
我正在使用以下命令:
find /folder -type f | xargs ls -l | grep "root root"
Run Code Online (Sandbox Code Playgroud)
但也有很多垃圾出来。
我想先创建一个列表,然后在确认后只更改该列表中的文件。
以下命令适用于 Ubuntu (GNU findutils 4.4.2) 但不适用于 Fedora (4.2.27)
time find . -maxdepth 1 -type f -executable -print
Run Code Online (Sandbox Code Playgroud)
如何使用旧版本的 find 查找可执行文件?
我想找到目录中图像文件的数量。我最终使用了这个:
find . -type f -exec file {} \; | grep -c -i 'image'
Run Code Online (Sandbox Code Playgroud)
这感觉像是一种低效的方法。我可以想到另一种方法 - 使用 OR 语句,但我无法从手册页中弄清楚如何做到这一点。
任何想法如何更有效地完成这项工作?我不想在包含大量文件的目录上执行上述命令并让它永远执行。
大约 10 年前,我问过这个问题
并得到了这个有用的命令 find . -type f -print0 | xargs -0 sed -i 's/regex_search_term/replace_term/g'
我决定更多地了解find,xargs和sed语句。在 bash 版本 4.4.20(1)-release 的 Ubuntu 18.04 上,我可以将语句简化为:
find . -type f -print | xargs sed -i 's/regex_search_term/replace_term/g'
然后可以再次简化为:
find . -type f | xargs sed -i 's/regex_search_term/replace_term/g'
所以我的问题是,是否有任何缺点不使用-print0标志和 -0国旗find,并xargs分别?-print完全放弃标志有什么缺点吗?它们是否明确用于与不同的类 Unix 系统兼容?
我试图从超过十分钟的远程目录中提取所有内容,然后删除源文件。
我的远程查找似乎正在工作(在远程框上独立测试),但是当 rsync 开始使用它时,我的用户的主路径被添加到查找输出的前缀,如下所示:
rsync -avz --dry-run --remove-source-files --files-from=<(ssh spot@host "find /mnt/volume_2/partners/test/uploads/ -amin +10 -type f,d -print0") spot@host:. .
receiving incremental file list
rsync: [sender] link_stat "/home/spot/mnt/volume_2/partners/test/uploads" failed: No such file or directory (2)
rsync: [sender] link_stat "/home/spot/mnt/volume_2/partners/test/uploads/file-1054" failed: No such file or directory (2)
rsync: [sender] link_stat "/home/spot/mnt/volume_2/partners/test/uploads/file-1105" failed: No such file or directory (2)
rsync: [sender] link_stat "/home/spot/mnt/volume_2/partners/test/uploads/file-1105/subfile-1105" failed: No such file or directory (2)
rsync: [sender] link_stat "/home/spot/mnt/volume_2/partners/test/uploads/file-1101" failed: No such file or directory (2)
rsync: [sender] …Run Code Online (Sandbox Code Playgroud) 我有一个vds,真的很好!
由于该服务器的经销商的支持,我遇到了一些问题。
我想直接从该数据中心购买服务器。
如何使用与该数据中心相关的 IP 地址找到该数据中心?
假设有人为您提供了一个 tarball,说它是源代码而不是其他任何东西。您想确保这是真的,并且没有携带病毒的可执行文件或库隐藏在目录中。如何使用 find 命令来做到这一点?
谢谢。
我使用下面的命令将所有文件(非递归),在截至移动_128.jpg到128X160子目录。这很好用。
find . -iname '*_128.jpg' | xargs -I '{}' mv {} 128x160
Run Code Online (Sandbox Code Playgroud)
但我还需要从每个文件中删除_128后缀。另外,我必须保留我当前的xargs方法,为每个方法创建一个exec会使这个过程变得非常长。
预先感谢您的合作!