Space in the directory name


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Space in the directory name
# 1  
Old 09-10-2001
Data Space in the directory name

I've got a small script that deletes all the trash from mailusers Trash directory. I run this script once in a while to make some space. (We have lots of IMAP users, who keep their mail on server!) Occansionaly, the users create directories with space in the name (e.g. "My Mail"). And sometimes the users will delete the whole directory. Is there a way to grep the whole name of such occurances. Here is the script I made:
echo "Enter volume name to fetch Trash:"
read volname
cd /usr/$volname
du -k |grep Trash | sort +0nr |head -40 >/tmp/t_$volname.dat
cat /tmp/t_$volname.dat |awk '{print "rm -ef " $2 "/200*"}' >/tmp/tr$volname.del

I think the problem starts with grep. It should get the entire directory name. Any help will be greatly appreciated.
Nitin Smilie
# 2  
Old 09-14-2001
I looked into my script and saw that "grep" is doing fine a job by capturing the names of directories with space. The awk is not transferring the names correctly. It cuts the directory field until it encounters a space. I am thinking of doing some kind of substitution. Can anyone help me now?
Thanks in advance,
Nitin Smilie
# 3  
Old 09-14-2001
my guess in your awk statement you are only pasing $1 if you also pass $2 you will get the 2nd word if the dir. either that or you can change the field seperator.

OR

use $1 for the most part and tos an if -d to see if your awk vaiable is valid if yes then delte if no add $2 rerun directory check.
# 4  
Old 09-16-2001
You might try changing your field separator
environment variable to somthing like...
export FS=":"

By default, the field separator is whitespace.
I haven't actually tried this with awk but I
believe awk will assume $1 = "My" and $2 = "Mail"
using whatever the field separator is.
If you have names with ":" in them then try
a different character.
# 5  
Old 10-02-2001
Well, I have to say that there may be a more practical way of doing what you want... I mean, why not just have something which prunes away files that are over say 30-days old?...

Something like:
Code:
#!/usr/bin/perl

$volume=$ARGV[0];
@dirs=`find /usr/$volume -name Trash`;
$curtime=time();
$number_days=30;
foreach(@dirs)
{
  chomp();
  opendir(DIR,$_);
  while($fname=readdir(DIR))
  {
    ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)=stat($fname};
    # 60 seconds, 60 minutes, 24 hours
    if($ctime < $curtime-(60*60*24*$number_days))
    {
      unlink $fname;
    }
  }
}

NOTE: You will want to test this because I haven't (!!!!!).... It's just an idea...

- dEvNuL

added code tags for readability --oombera

Last edited by oombera; 02-20-2004 at 11:41 AM..
# 6  
Old 10-06-2001
I had thought of deleting all the files older than a week. But, Netscape (mail server) creates some control files (e.g. __GENNAME__, __lock__, etc.) in the Trash directory of users. If removed users won't be able to see the Folders at client end (and raise hell on me! Smilie ). I could look into your script and tell it not to delete the files starting with "__".
Thanks a lot though. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Handle space in directory name

I have two servers in subject, say server1 and server2. I have shell scripts on server1. We have a directory on server2 from where the files need to be scp to server1. The directory on server2 is having space in its name. I have script on server1 that takes the directory path of server2 as a... (4 Replies)
Discussion started by: Longfellow
4 Replies

2. UNIX for Dummies Questions & Answers

Display all directory/sub directory with occupied space?

Hello, I am using Red Hat linux system. I see my /work directory has used space 300GB. But there are so many sub directory under /work. I want to list each direcotry and under all subdirectory. But i want to know how much space occupied by each directory. What kind of command i can use to... (3 Replies)
Discussion started by: govindts
3 Replies

3. UNIX for Dummies Questions & Answers

Adding space to a directory?

I need to add space to certain directory. I believe I need to add space to the filesystem this directory belongs to. How can I find out what filesystem this directory belongs to? (3 Replies)
Discussion started by: NycUnxer
3 Replies

4. Shell Programming and Scripting

find the free space of a particular directory

Hi Guys, I want to find the free space of a particular directory,, Regards, Magesh (3 Replies)
Discussion started by: mac4rfree
3 Replies

5. Red Hat

/boot directory out of space

We applied updates on saturday and noted that we have used 97% of our /boot directory. How can I tell what files i can keep or get rid of in this directory? or how can I increase the size of this partition. Red Hat Enterprise Linux ES release 3 (Taroon Update 9) 2.4.21-57.ELsmp Thank... (4 Replies)
Discussion started by: redac
4 Replies

6. UNIX for Dummies Questions & Answers

Space issue with Directory

Hi, How can I check whether a directory has enough space to create file? I have checked the space is availabe in the file system. For example: the directory /var/tmp resides in root file system. In the root file system currently 20% (5.5gb) space availabe. but how can I check the in the /var/tmp,... (1 Reply)
Discussion started by: siba.s.nayak
1 Replies

7. UNIX for Dummies Questions & Answers

How do I increase disk space available to a directory?

I know very basic Unix commands s I would really appreacite the assistance of a Unix guru. I am installing an application on a Sun server, when attempting to install I get an error that says I do not have enough sapce allocated for my install directory. Error says it has 7235m but needs 15360m.... (2 Replies)
Discussion started by: rhack
2 Replies

8. Filesystems, Disks and Memory

Space Used by Directory Tree

Can someone tell me how I can determine how much space (blocks) have been used by a given directory tree? I periodically need to know how much space is consumed by a directory and all of its files and subdirectories and their files in either KB or blocks. I have tried df and du but these do not... (1 Reply)
Discussion started by: johnk99
1 Replies

9. Shell Programming and Scripting

Check directory space?

Is there some command I can use to check to see if there is 2 Gig of space available in a directory before I created a 2 Gig file? (3 Replies)
Discussion started by: lesstjm
3 Replies

10. UNIX for Dummies Questions & Answers

Space left under current directory

What utility (or combination of utilities) can I use to find out how much disk space a directory and its subdirectories take up. I currently am using 'df' to see partition space/size, 'ls' doesn't seem like displaying directory info TIA SmartJuniorUnix (2 Replies)
Discussion started by: SmartJuniorUnix
2 Replies
Login or Register to Ask a Question