这一行:
sudo df /tmp \
| grep '/tmp' \
| expand - \
| cut -d " " -f 12 \
| sed 's/%//' \
| awk '{ if ($1<50)
$("sudo rm -rf /path/to/trash/files/*")
}'
似乎没有效果,而这个:
sudo df /tmp \
| grep '/tmp' \
| expand - \
| cut -d " " -f 12 \
| sed 's/%//' \
| awk '{ if ($1<50)
print $1
}'
打印用于 tmp 的磁盘百分比。
(最终目标是将比较翻转到 ($1>50)
,但为了测试我正在尝试 <
。)
最佳答案
使用 awk
在管道中实际上不需要那么多命令。
您可以使用:
df /tmp | awk 'NR>1 && $5+0 > 50 {system ("date")}'
此处将 date
命令更改为您需要在那里运行的其他命令。
关于bash - 如何将 `rm` 文件作为 awk 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60570091/