作者:卝軎亟_621 | 来源:互联网 | 2023-02-03 23:40
我有一个类似结构的许多网站的日志文件/var/www/domainname.com/log/access.log
,我希望清除他们的内容.我需要找到一种方法在一个命令中执行它,但我似乎没有这样做,我尝试过
find /var/www/ -type f -name "access.log" -exec cat /dev/null > access.log {} \;
但这实际上会创建一个新的access.log文件,复制所有网站的所有访问日志文件的内容.
1> codeforester..:
您可以使用truncate
命令,以便我们可以一次截断所有文件:
find /var/www/ -type f -name access.log -exec truncate -c -s 0 {} +
-c
确保不会新创建任何文件
-s 0
将文件大小设置为零
{} +
确保所有文件一次性传递(最多为ARG_MAX)
看到:
UsingFind - Greg的Wiki