Archive for the 'Perl' Category

Replacing in Found Files

Replace one string by another in all file found by find.


find . -name *whatyouwant* -exec perl -pi.bak -e 's/TEXT_TO_REPLACE/TEXT_TO_REPLACE_IT_WITH/g' {} \;

Perl Joke

Just a joke – no offense intended…


perl -e '$a="etbjxntqrdke";$a=~s/(.)/chr(ord($1)+1)/eg;print $a'

Install CPAN in Fedora

If you are getting a ‘Can’t locate CPAN.pm in @INC’ error while opening cpan, you have not installed Bundle::Cpan. You can do that without Cpan – using yum


yum install perl-CPAN

Remove Empty Lines and Comments

Remove comments and blank lines from example.pl


sed '/ *#/d; /^$/d' example.pl

Stop crond When mysqld is Down

A perl script to stop crond if mysqld is down


#!/usr/bin/perl

# See if MySQL server is alive or not
$mysql_status = `/etc/init.d/mysqld status`;
print "MySQL Status: $mysql_status\n";
unless($mysql_status =~ /running/) {
	print "Stopping Cron... ";
	#If MySQL is not running, kill the crond
	$cron = `/etc/init.d/crond stop`;
	print $cron;
}

print "\n";

Get URL Headers from Linux Command Line

Show the headers of an URL from the command line. This will need perl, lwp installed on the system.


lwp-request -ed "http://lindesk.com/"

URL Headers using Curl

Command to Print Until Regular Expression

Print a file until a regular expression is matched.


cat file.txt | perl -pe "exit if(/Thats all/)"

Remove empty directories

Remove all empty directories within the current directory


find . -type d -empty -exec rmdir {} \;
perl -MFile::Find -e"finddepth(sub{rmdir},'.')"

Delete Empty Directories
http://www.jonasjohn.de/lab/red.htm
[tags]empty,folder,delete,remove,perl,command,linux[/tags]

Replace \n with another String

The command to convert all \n in a file to another string – very useful for list code generation.


perl -ne 's/\\n/\',\'/g;print;' file.txt>new.txt

Remove Extension in Shell Scripting

This command will list all the files a folder without their extensions. Comes handy when doing shell scripting


perl -e 'while(<*.*>){s/\..{3}$//i;print "File \"$_\"\n";}print "\n";'