我今天注意到(在愉快地使用 bash 大约 8 年之后)没有使用“rm”“按日期删除”的简单方法。因此,解决方案是围绕 rm、ls、find、awk 和 sed 等命令组合进行管道传输。
例如,我想从 2009 年删除工作目录中的每个文件,典型的方法是什么?
我想出了以下内容,这很丑陋,只有在将“rm”设置为跳过目录时才应该运行(否则您将删除父目录):
ls -la | awk '{if (substr($6,0,5)==2009) print $8}' | xargs rm
最优雅和最过分设计的解决方案都得分。