Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
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 studying the Monastery: (5)
As of 2014-12-29 02:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (184 votes), past polls