The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #3 (permalink)  
Old 04-07-2008
era era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 3,652
Quote:
ls -rtl *.dat | grep Jan | awk '{print $9}' | rm *.dat
This is basically equivalent to


Code:
ls -rtl *.dat | grep Jan | awk '{print $9}' >/dev/null
rm *.dat

so no wonder your *.dat files are gone. The right syntax for using the pipeline (and avoiding the Useless Use of grep | awk) is


Code:
ls -rtl *.dat | awk '/Jan/{print $9}' | xargs rm

or you could use backticks, but they are always a bit perilous, IMHO.