Here are some examples:
Fixed Length Data File - Show records where a column range matches a given string.
General Command:
perl -ne 'print if substr($_, StartCol, Stringlen) =~ "searchstring";' infile.txt > outfile.txt
Example: Find records where position 488-489 is equal to "CA". Keep in mind that for startcol, the first character of the record begins a position 0.
perl -ne 'print if substr($_, 487, 2) =~ "CA";' infile.txt > outfile.txt
Pipe-Delimited Data File - Show records where a column 2 value equals 2
123|2|Oak
456|4|Cedar
789|2|Willow
perl -ne 'split(/\|/); @line=@_; print if $line[1] == 2;' in.txt > out.txt
Korn shell - Embed Perl for loop inside Korn shell for loop
Example: Loop to count from 1 to 99 (by Odd numbers)
Note: everything between $( ... ) is the perl one-liner
for i in $(perl -e 'for ($i=1; $i<100; $i+=2) {print "$i\n";}') do echo $i done
Frequency Counter - Pipe Standard Input into this one-liner File of votes with a name on each line - in.txt
cat in.txt | perl -e '%freq;while (<>) {chomp;$freq{$_}++;} printf("%-40s %10i\n", $_, $freq{$_}) foreach sort keys %freq;'
Output:
Al 3
Fred 5
Mary 6