Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Favourite One-liners?

by radiantmatrix (Parson)
on Jun 28, 2005 at 21:09 UTC ( #470824=note: print w/ replies, xml ) Need Help??


in reply to Favourite One-liners?

I occasionally like to remove whole-line comments from config files or Perl scripts (esp. when the comments prevent me from seeing the code clearly). This works great:

perl -pe 'next if /^(\s*)#/' file.conf > clean-file.conf"
Remove the (\s*) if your definition of "whole-line comment" doesn't include whitespace before the '#'. Also note that I deliberately avoid in-place edit, as the point is to make a clean copy.

On Windows, I often like to backup generated files before doing a second test run. Since I want to compare both sets of output, sometimes I need to leave the extension intact:

perl -e "for(glob '*.xls'){$o=$_; s/(\.xls)$/.old$1/i;rename $o,$_}"
works smashingly (specifically for XLS files, that one).

And finally, also on Windows (where find means something different than on UNIX), I sometimes want to remove all files in a directory (not the whole tree) that are more than 48 hours old:

perl -e "for(glob '*'){next unless -f;@s=stat;unlink($_) if (time-$s[9 +])>60*60*48;}"
Update: And to search the whole tree:
perl -MFile::Find -e "find(sub{@s=stat;unlink if (time-$s[9])>60*60*48 + && -f},'.')";

Yoda would agree with Perl design: there is no try{}


Comment on Re: Favourite One-liners?
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://470824]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (15)
As of 2015-07-07 20:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls