gpt4 book ai didi

linux - 如何删除目录中X个文件

转载 作者:太空狗 更新时间:2023-10-29 11:28:56 26 4
gpt4 key购买 nike

要在目录中获取 X 个文件,我可以这样做:

$ ls -U | head -40000

然后我将如何删除这 40,000 个文件?例如,像这样的东西:

$ "rm -rf" (ls -U | head -40000)

最佳答案

您需要的工具是 xargs。它会将标准输入转换为您指定的命令的参数。输入的每一行都被视为一个参数。

因此,类似这样的事情会起作用(不过请参阅下面的评论,ls 不应以这种方式正常解析):

ls -U | head -40000 | xargs rm -rf

在尝试此操作之前,我建议从较小的 head 大小开始,并使用 xargs echo 打印出传递的文件名,以便您了解要删除的内容.

请注意,如果您的文件包含奇怪的字符,这有时会成为一个问题。如果您使用的是现代 GNU 系统,您可能还希望使用这些命令的参数,这些命令使用空字符来分隔每个元素。由于文件名不能包含可以安全解析所有可能名称的空字符。我不知道有一种简单的方法可以在零分隔时获取顶部 X 项。

因此,例如,您可以使用它来删除目录中的所有文件

find . -maxdepth 1 -print0 | xargs -0 rm -rf

关于linux - 如何删除目录中X个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35615581/

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