search column and delete row if greater than value

Hi, as the title states i need to find a way to search a column for values great than 1000, and if it is, then delete that row.

An example

  1   7.021   6.967 116.019 4 U   6.980E+07  0.000E+00 e 0     0     0     0
      2   8.292   7.908 118.063 3 U   1.440E+07  0.000E+00 e 0   821   814   825 #VC 0.50000 #QU 0.676 #SUP  0.92
                                                                1778  1771  1782 #VC 0.50000 #QU 0.737 #SUP  0.92
      3   7.994   7.056 118.728 3 U   6.570E+06  0.000E+00 e 0   682   686   689 #VC 0.50000 #QU 0.499 #SUP  0.77
                                                                1639  1643  1646 #VC 0.50000 #QU 0.548 #SUP  0.77
      4   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
                                                                1639  1639  1646 #VC 0.50000 #QU 0.774 #SUP  0.95
      5   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
                                                                1639  1639  1646 #VC 0.50000 #QU 0.774 #SUP  0.95
      6   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99
                                                                 890   890   894 #VC 0.24853 #QU 0.687 #SUP  0.99
                                                                1639  1639  1646 #VC 0.25147 #QU 0.695 #SUP  0.99
                                                                1847  1847  1851 #VC 0.24853 #QU 0.687 #SUP  0.99
      7   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99

TO

  1   7.021   6.967 116.019 4 U   6.980E+07  0.000E+00 e 0     0     0     0
      2   8.292   7.908 118.063 3 U   1.440E+07  0.000E+00 e 0   821   814   825 #VC 0.50000 #QU 0.676 #SUP  0.92
      3   7.994   7.056 118.728 3 U   6.570E+06  0.000E+00 e 0   682   686   689 #VC 0.50000 #QU 0.499 #SUP  0.77
      4   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
      5   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
      6   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99
                                                                 890   890   894 #VC 0.24853 #QU 0.687 #SUP  0.99
      7   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99

Thanks

awk '{if($11 < 1000) print $0}' input > output.txt
$
$
$ cat f21
      1   7.021   6.967 116.019 4 U   6.980E+07  0.000E+00 e 0     0     0     0
      2   8.292   7.908 118.063 3 U   1.440E+07  0.000E+00 e 0   821   814   825 #VC 0.50000 #QU 0.676 #SUP  0.92
                                                                1778  1771  1782 #VC 0.50000 #QU 0.737 #SUP  0.92
      3   7.994   7.056 118.728 3 U   6.570E+06  0.000E+00 e 0   682   686   689 #VC 0.50000 #QU 0.499 #SUP  0.77
                                                                1639  1643  1646 #VC 0.50000 #QU 0.548 #SUP  0.77
      4   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
                                                                1639  1639  1646 #VC 0.50000 #QU 0.774 #SUP  0.95
      5   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
                                                                1639  1639  1646 #VC 0.50000 #QU 0.774 #SUP  0.95
      6   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99
                                                                 890   890   894 #VC 0.24853 #QU 0.687 #SUP  0.99
                                                                1639  1639  1646 #VC 0.25147 #QU 0.695 #SUP  0.99
                                                                1847  1847  1851 #VC 0.24853 #QU 0.687 #SUP  0.99
      7   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99
$
$
$
$ perl -lne '$str=substr($_,63,18); $str=~s/^\s*//; $str=~s/\s*$//;
             @x = split/[ ]+/, $str; $c = grep {$_ <= 1000} @x; print if $c == 3
            ' f21
      1   7.021   6.967 116.019 4 U   6.980E+07  0.000E+00 e 0     0     0     0
      2   8.292   7.908 118.063 3 U   1.440E+07  0.000E+00 e 0   821   814   825 #VC 0.50000 #QU 0.676 #SUP  0.92
      3   7.994   7.056 118.728 3 U   6.570E+06  0.000E+00 e 0   682   686   689 #VC 0.50000 #QU 0.499 #SUP  0.77
      4   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
      5   7.999   7.956 118.787 3 U   4.600E+08  0.000E+00 e 0   682   682   689 #VC 0.50000 #QU 0.774 #SUP  0.95
      6   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99
                                                                 890   890   894 #VC 0.24853 #QU 0.687 #SUP  0.99
      7   8.023   7.980 118.984 3 U   5.760E+08  0.000E+00 e 0   682   682   689 #VC 0.25147 #QU 0.695 #SUP  0.99
$
$
$

tyler_durden

Can i some integrate this into a script so that i can call the script and the file name i want the awk or perl command to apply to?

an example i can type

script input

and the output would be what the awk or perl command (which is in the script) applies to any input file

---------- Post updated at 03:14 PM ---------- Previous update was at 02:16 PM ----------

i figured it out using the command

perl -MO=Deparse  -lne '$str=substr($_,63,18); $str=~s/^\s*//; $str=~s/\s*$//;
             @x = split/[ ]+/, $str; $c = grep {$_ <= 1000} @x; print if $c == 3
            '

and added the variable