The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Special Forums > Filesystems, Disks and Memory
Google UNIX.COM


Filesystems, Disks and Memory Questions involving NAS, SAN, RAID, Robotic Libraries, backups, etc go here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
shell script to find and replace string in multiple files pharos467 Shell Programming and Scripting 10 05-20-2008 08:39 AM
Shell script to find out 2 last modified files in a folder..PLZ HELP!!!!!!!!! anju Shell Programming and Scripting 3 01-31-2008 09:47 PM
Find and Replace in multiple files (Shell script) jatins_s Shell Programming and Scripting 13 11-05-2007 10:11 AM
shell script to find files by date and size dadadc UNIX for Dummies Questions & Answers 1 10-20-2007 02:18 AM
shell script to find files naren_samba2005 Shell Programming and Scripting 2 10-21-2005 02:06 AM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 09-14-2006
Registered User
 

Join Date: Sep 2006
Posts: 40
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
shell script to find zero byte files

I have a directory MYDIR
In which i have several directories 1,2,3,4....
Now, In each of these directories i have several files a.dat, b.dat, c.dat, d.dat.....

MYDIR
----1
---------a.dat
---------b.dat
---------c.dat
---------d.dat
----2
---------a.dat
---------b.dat
---------c.dat
---------d.dat
----3
---------a.dat
---------b.dat
---------c.dat
---------d.dat
.
.
.
.
.
Task: to find the zero byte .dat files and move them to a different directory


how do i do this!!!


my pseudo approach:


#!/bin/sh

source= "/root/MYDIR/"
dest= "/root/MYDIR/log"

foreach i($source)
do
find *.DAT -size 0c -exec mv '{}' ${dest} \;
done


appreciate any ideas
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 09-14-2006
Supporter
 

Join Date: Jul 2006
Posts: 156
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
You don't need a 'foreach'. The find command will suffice. Something like this should work:
Code:
find $source -name "*.dat" -size 0 -exec mv {} $dest \;
... but are you sure you want to be running this as root? Just be careful... .
Reply With Quote
  #3 (permalink)  
Old 09-14-2006
Registered User
 

Join Date: Sep 2006
Posts: 40
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
thank you for the quick response
appreciate your time
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes


The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
"inappropriate ioctl for device" 421 service not available, remote server has closed connection ^m ascii eof autosys awk trim bash eval bash exec bash for loop bash subroutine boot: cannot open kernel/sparcv9/unix close_wait curses.h dead.letter find grep grep multiple lines grep or grep recursive grep unique inappropriate ioctl for device logrotate.conf lynx javascript mailx attachment make: fatal error: command failed for target `all-recursive' mget mtime perl array length ping port read awk output into multiple variables replace space by comma , perl script scp recursive segmentation fault(coredump) sftp batch sftp script snoop unix stale nfs file handle syn_sent tar exclude unix unix .profile unix com unix for loop unix forum unix forums unix interview questions unix memory usage unix mtime unix simulator unix.com while loop within while loop shell script


All times are GMT -7. The time now is 05:18 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102