gpt4 book ai didi

linux - 根据条件查找最大的文件并将其复制到特定目录

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:48 25 4
gpt4 key购买 nike

我的目录 /usr/process 有很多子目录。我想找到名为 *calculation* 的最大文件。可能有数百万个文件需要搜索。

当我使用下面的命令并根据大小排序并获取最大的文件并将其复制到 / 时,速度非常慢。

find /usr/process -name '*calculation*' | xargs -n 1 -i cp {} /usr/share/backup
  1. 如何过滤查找命令以获取最大的文件并复制它?
  2. 如何过滤查找命令以获取 10 个最大的文件并复制它?
  3. 如何过滤查找命令以获取最小的文件并复制它?
  4. 如何过滤查找命令以获取 10 个最小的文件并复制它?

最佳答案

如果您知道文件名(“计算”),我看不出有兴趣运行 find

如果你需要找到 n(这里,n=3)个最大的文件,你可以只使用 du,它代表“磁盘使用”:

du -a /usr/bin/ 2>/dev/null | sort -n -r | head -n 3
478328 /usr/bin/
26024 /usr/bin/burpsuite
16692 /usr/bin/mariabackup

当然,你需要使用自己的目录/usr/process

或者,因为这更容易通过管道传输,您可以按如下方式使用 find :

find $HOME -type f -printf '%s %p\n' | sort -nr | head -10
10485760 /root/.mozilla/firefox/p4r990u7.default/places.sqlite
10240000 /root/.cache/tracker/meta.db-wal
7964784 /root/.mozilla/firefox/p4r990u7.default/gmp-widevinecdm/1.4.8.903/libwidevinecdm.so
6136581 /root/.local/share/tracker/data/tracker-store.journal
6127616 /root/.mozilla/firefox/p4r990u7.default/webappsstore.sqlite
5615597 /root/.mozilla/firefox/p4r990u7.default/storage/temporary/https+++regex101.com/asmjs/module15
4728570 /root/.cache/mozilla/firefox/p4r990u7.default/safebrowsing/goog-phish-shavar.sbstore
4493312 /root/.cache/tracker/meta.db

然后您可以根据需要对其进行管道传输。

关于linux - 根据条件查找最大的文件并将其复制到特定目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53624968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com