今天我注意到(大约8年高兴地砍掉bash后),没有使用'rm''按日期删除'的无效方法。因此,解决方案是围绕像rm,ls,find,awk和sed这样的命令组合管道。在bash中是否有使用'rm''按日期删除'的简单方法?
说例如我想从2009年删除工作目录中的每个文件,那么典型的方法是什么?
我想出了以下内容,这是对接丑,如果“RM”设置为跳过目录(否则你会删除父目录)应只运行:
ls -la | awk '{if (substr($6,0,5)==2009) print $8}' | xargs rm
要点无论是最优雅和最过分的过度设计的解决方案。
什么是“l”,在管道的开头? “ls -l”的别名? – unwind 2009-01-12 09:04:21
哎呀,是别名'ls -la' – Fergie 2009-01-12 09:07:15