I saw this node this morning and I thought right off that find(1) did something like this natively.. it does catch the files last accessed or created within a time frame and execute a command, but I couldn't figure out how to delete everything that was older than the 10 newest. (for the curious it's: find ./ -type f -atime +7 -exec rm {} \;) but hey, since you can tack commands into find.. find ./ -type d -exec perl -e '$limit="11";$dir="{}";$i=0;@list=`ls -ltF $dir`;print "Directory: $dir\n";foreach(@list) {chomp;$ls="$_";if (($ls=~ m/\//o) ne 1) {if (($i < $limit) && (($ls=~ m/total/o) ne 1) && (($ls=~ m/@/o) ne 1)) {print "keep $ls\n";} elsif ($i > ($limit-1)) {print "rm $ls\n";};} else {$i=($i-1);};$i++;};' {} \;
ooogly, eh? and yeah, it's set up for testing.. no actual rm'ing going on.. but that's easy enough to fix. this was my fun activity for today.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|