- 此问题在此处已有答案**:
Remove all lines in file older than 24 hours(2个答案)
8天前关闭。
我有一个以下格式的日志文件,我想删除超过30天的行以清理磁盘空间。由于符合性要求,我无法清空该文件。我使用了以下sed格式,但它不起作用。请建议如何使用sed或任何其他选项来实现这一点。
我试过这个:
sed -i "s@^[0-9]/[0-9]/[0-9]@$(date -d "-30 days" +"%m/%d/%Y")@g" "$file"
日志文件:
12/31/2022 03:00:49 ANS1228E Sending of object '/xxxxxe/xxx' failed.
12/31/2022 03:00:49 ANS0326E This node has exceeded its maximum number of mount points.
12/31/2022 03:00:49 ANS1228E Sending of object '/xxxxx/XXX/product' failed.
12/31/2022 03:00:49 ANS0326E This node has exceeded its maximum number of mount points.
12/31/2022 03:00:49 ANS1228E Sending of object '/XXX/XXX/product/XXXXXXX'
1条答案
按热度按时间wgeznvg71#
试试这个:
sed -i 's@'"$(date -d "-46 days" +"%m/%d/%Y")".*'@@g' "$file"