#!/usr/bin/perl # # Dan Cross # use Getopt::Std; my (%opts, $F, $O); $F = qw(\s+); $O = ' '; getopts('F:O:0', \%opts); $F = $opts{'F'} if $opts{'F'}; $O = $opts{'O'} if $opts{'O'}; push(@ARGV, '-O') if $opts{'0'}; die "Usage: $0 [ -0 ] [ -F regexp ] [ -O fmt ] 'list' [file[s]]\n" unless @ARGV; my @indices = map { $_ - 1 } split(/\||,|\s+/, $ARGV[0]); shift @ARGV; while (<>) { chomp; s/^$F//; s/$F$//; my @fields = split(/$F/); print join($O, @fields[@indices]), "\n"; }