Unix Scripting Question

Wartnick, James James.Wartnick at bestbuy.com
Tue May 4 16:04:13 UTC 2004


Here is a simple korn shell script that does what you want.

Doit.ksh

cat z | while read line; do
  if [ -s "$line" ]; then
    echo "Line: $line, Yes"
  else
    echo "Line: $line; No"
  fi
done

File z:
/home/myhomedir/ghi jkl mnn.doc
/home/myhomedir/kljsdf kljdsf lksjdf.txt

------------------------------------------------
> I have a file (a.lst) that has a list of fully pathed filenames, 1 per

> line - in this format:
>
> "/path/to/the/name_of_file.doc"
> "/path/to/the/other/name of the doc noting spaces.doc"
>
> I need to know how I can loop through this file, a.lst, and for each 
> entry, perform a test -s on it. If it exists, I want to put the entry 
> into exists.txt, if it does not, I want to put the entry in 
> noexist.txt
> -
>
> Can someone please help me? (I've tried for foo in `cat a.lst`, but 
> due to the spaces in 90% of the filenames, it pukes, as it appears to 
> be using space as the delimiter)
>
>
> Thanks again,
> Michael

Jim Wartnick






More information about the redhat-list mailing list