in reply to cut in perl

I had this lying around. You may be able to adapt it to your needs. See also perldoc:perlrun and the -F + -a options.
cat ./bin/ncut #!/usr/bin/perl -l -a -w -s -F/\t/ -n =pod ncut '-f=field1,field4,total*' file.tsv ncut - named and ordered field cut can sneak in perl regexp stuff =cut BEGIN { die "use -f=name1,name2" unless $f; my @f = split /,/, $f; { no warnings 'once'; $_ = <>; } chomp; @F = split /\t/; #$re = join '|', @f; @keep = grep { $F[$_] =~ /($re)$/ } 0..$# +F; for $f (@f) { push @keep, grep { $F[$_] =~ /$f/ } 0..$#F; } print join "\t", @F[@keep]; } print join "\t", @F[@keep];