The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

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



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Transfer files wih directory structure. uxlunatick SCO 11 04-28-2008 03:25 PM
copy files with directory structure adddy UNIX for Dummies Questions & Answers 3 12-11-2006 08:50 AM
MV files from one directory structure(multiple level) to other directory structure srmadab UNIX for Advanced & Expert Users 4 09-13-2006 04:01 PM
How do I increase disk space available to a directory? rhack UNIX for Dummies Questions & Answers 2 10-21-2005 11:54 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-14-2005
kasala kasala is offline
Registered User
  
 

Join Date: Jan 2005
Posts: 3
disk space used for files with in a directory structure.

Hello,
I am new to shell scripting and would really appreciate if someone could help me with this question.

I have a directory structure as follows..
main directory is DATA under which i have different directories names fileserver01, fileserver02 ... till fileserver 15.

under each of these there are more subdirectories named
123456, 123567,123984..... 234859,234503.. etc.

under each of these six digit subdirectory there are more subdirectories named subdir1, subdir2, subdir3... subdir7, which in turn contains individual files.

Now, my question is.. how can I find the disk space used by certain amount of files(not starting with "deleted") under subdir1,subdir3 and subdir4. also, the disk space should be based on the first three digits of the directories starting with eg..123, 234 etc.
ie. I need to find the diskspace of DATA/iterate thro' all fileservers/grouped under the matching first three digits eg 123*)/specified directories eg.subdir1,subdir3,subdir4)/(files not starting with "deleted").
I hope my question is clear.
I am using Ksh.

Thanks in advace.
  #2 (permalink)  
Old 01-14-2005
98_1LE 98_1LE is offline Forum Advisor  
Registered User
  
 

Join Date: Dec 2000
Location: Greater Dallas area
Posts: 405
I am not quite sure what you are looking for, but du -sk is probably the command you want to use. Read the man page on du.
  #3 (permalink)  
Old 01-14-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
I too am lost, but if you cd to fileserver1, you can do:
find 123* -type f
to get a list of files under the 123* directory. Is this a list of files that you want? Next you can do:
find 123* -type f | xargs ls -s
to see the files with their sizes. Just want a total? Use:
find 123* -type f | xargs -s | awk '{x+=$1} END {print x}'
Since -s is giving the size in blocks you might want to use "print x * 512" to get the size in bytes. This should be enough ideas to get you started.
  #4 (permalink)  
Old 01-14-2005
kasala kasala is offline
Registered User
  
 

Join Date: Jan 2005
Posts: 3
Sorry for the confusion which I created. I have two more twists to Perderabo's solution Under each 123* directory.. there are more subdirectories out of which I do not pick two particular subdirectories named subdir2 and subdir5. From the remaining subdirectories, I pick only those files whose names do not start with "deleted".
  #5 (permalink)  
Old 01-14-2005
bhargav's Avatar
bhargav bhargav is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2004
Location: USA
Posts: 511
find 12* -type f | xargs ls -s | egrep -v "subdir2|subdir5|deleted"
  #6 (permalink)  
Old 01-14-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
If subdir2 and/or subdir5 are very large or if there are a lot of delete* files, this will slow down as it does work which is discarded by the grep processes. A complex find statement can produce a list of only the desired files...

find 123* \( -name subdir2 -o -name subdir5 -prune \) -o -type f ! -name delet\*
  #7 (permalink)  
Old 01-14-2005
bhargav's Avatar
bhargav bhargav is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2004
Location: USA
Posts: 511
Excellent Perderabo !
If a i add -prune after suddir2 to eliminate subdir2 files ????
Following did work for me on AIX.

find 1234* \( -name subdir2 -prune -o -name subdir5 -prune \) -o -type f ! -name delet\*
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 09:18 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0