我试图从以EXPORT_v1x0
开头并且日期小于2013-01-25(2013年1月25日)的Unix目录中删除文件。我可以逐个删除文件,但是我需要几天才能删除所有文件。有没有更好的方法来删除特定模式的文件?删除日期少于特定日期的具有相似模式的所有文件
下面是样本文件,当我做LS
bash-3.00$ ls /data/bds/real
EXPORT_v1x0_20120811.dat.gz
EXPORT_v1x0_20120811.dat.gz
如果你看到上面的文件。每个文件都有一个日期。假设我们以这个文件为代价─
EXPORT_v1x0_20120811.dat.gz
它的日期是20120811
所以我需要删除所有与EXPORT_v1x0
启动文件,其日期小于20130125
。因此,如果我应该删除日期小于20130125
的所有文件,那么上面提到的所有文件都将被删除,因为日期少于20130125
。
注意: -所有的文件都与我上面提到的完全一样。只有日期和其后的数字是不同的。
所以我只需要删除所有以EXPORT_v1x0
开头,其日期小于20130125
的文件。
我正在运行SunOS
。我仍然在更好地学习Unix。所以不确定任何高端命令和脚本。
感谢Fredrik的建议。如果我需要在删除文件之前进行一些干运行,那么我应该删除xargs rm吗? – ferhan
正好。和'find'命令是非常灵活的,并且使用不同的参数,你可以缩小列出的文件以恰好匹配你在 –
之后的文件。如果我正在尝试这个命令'find。 | awk -F'_''{if($ 3 <20121025)print}''那么它将打印来自其他目录的所有文件,而不是从当前目录中打印出来。我将从当前目录中删除所有文件。任何想法我需要做出什么改变? – ferhan