gpt4 book ai didi

bash - 递归清空多个文件的命令

转载 作者:行者123 更新时间:2023-11-29 09:25:18 25 4
gpt4 key购买 nike

我想递归地清除给定目录的许多日志文件的内容,而不是删除每个文件。可以用一个简单的命令吗?

我知道我可以一个接一个地执行 > logs/logfile.log,但是那个文件夹中有很多日志,这并不简单。

顺便说一句,我正在使用 macOS Sierra。

最佳答案

感谢@chepner 向我展示了防止文件名中出现双引号的更好方法:

你可以使用find来做到这一点

find start_dir -type f -exec sh -c '> "$1"' _ {} \;

如果你不想要所有文件,你可以添加额外的限制,比如如果你只想要以 .log 结尾的文件,你可以这样做

find start_dir -type f -name '*.log' -exec sh -c '> "$1"' _ {} \;

关于bash - 递归清空多个文件的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41958914/

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