Bag Of Tricks: A collection of nifty Perl One Liner Scripts!
Work In Progress!
Perl-ish way of doing the 'cat' command:
perl -ne 'print'
Count the number of words from input stream (wc -w)
perl -lane '$c += scalar(@F); END { print $c; }'
Count the number of lines from input stream (wc -l)
perl -lne 'END { print $. }'
Count the number of characters from input stream (wc -c)
perl -ne '$c += length; END { print $c . "\n"; }'
Print the input stream with line-numbers (cat -n)
perl -lne 'print "$.\t$_"' filename.txt
Convert a DOS text file to UNIX text file (dos2unix)
perl -pie 's/\r//g' filename.txt
Convert UNIX text file to DOS text file (unix2dos)
perl -pie 's/\n/\r\n/g' filename.txt
Perl-ish substitute for 'grep' command
perl -ne '/regex-pattern/ and print'
Perl-ish substitute for 'grep -H' command
perl -ne '/Linux/ and print "$ARGV: $_"' file1.txt file2.txt ...
Perl-ish substitute for 'grep -n' command
perl -ne '/Linux/ and print "$.: $_"' file.txt
Perl-ish substitute for 'grep -v' command
perl -ne '/Linux/ or print' file.txt
Perl-ish substitute for 'grep -n' command
perl -ne '/Linux/ and print "$.: $_"' file.txt
Extracting columns/fields from input stream (cut command)
perl -lne '@A = split /:/; print $A[0]'
Translate CSV format file to HTML table data
perl -lne 'BEGIN { print "<table>" }
print "<tr>";
print "<td>$_</td>" foreach(split /;/);
print "</tr>";
END { print "</table>" }'
Extract URLs from a (HTML) file
perl -nle 'print $1 while /\<a\b[^\>\"]*?\bhref\s*=\s*[\"]?([^\>\"]*)/gi' index.html