Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Removing empty folders using 'find' Post 302187354 by era on Monday 21st of April 2008 02:24:03 AM
Old 04-21-2008
Maybe it would be better to start a new thread for this question, but anyway, here goes.

1. Search for any directory

2. If directory contains any non-dot files, skip it (= mark for keeping).

3. Otherwise, print it.

Code:
find -type d -print |
while read dir; do
  keep=false
  for file in "$dir"/*; do
    case $file in
      "$dir"/.*) continue;;  # redundant?  see below
      # "$dir"/\*) continue;;  # maybe need this too, depend on globbing settings
      *) keep=true; break;;
    esac
  done
  if ! $keep; then
    echo "$dir"
  fi
done

Maybe radoulov can come up with an elegant one-liner for this; it's not particularly succinct.

This just echoes the directories; if it seems to work for you, you can change the echo to rm -rf

If your shell doesn't expand non-matching wildcards to an empty string, you might need the case which I commented out, too. (Actually maybe the .* case is redundant; wildcards don't expand dotfiles in bash at least.)

Last edited by era; 04-21-2008 at 03:31 AM.. Reason: empty-glob observation
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Removing old folders

All Please help me to remove old files. For example /usr/exp/ - inside this Apr 02 - dir02 Apr 03 - dir03 Apr 04 - dir04 Apr 05 - dir05 Apr 06 - dir06 Apr 07 - dir07 Apr 03 - file03 I want to delete all the folders 2 days before created.Not the fil03 even though it is 2 days old. ... (1 Reply)
Discussion started by: DeepakXavier
1 Replies

2. UNIX for Dummies Questions & Answers

zip nesting empty folders

I'm using the following command to zip a project file, but when it finishes, the resulting zip file contains all the directories above the file I wanted zipped, myapp.app, each one empty until you get to the actual app. zip -r myapp.app.zip ... (0 Replies)
Discussion started by: groundlevel
0 Replies

3. UNIX for Dummies Questions & Answers

how to find empty folders without using -empty

hi all: my solaris FIND does not support find myFolder -type d -empty how can i find the empty folders? thanks! (7 Replies)
Discussion started by: lasse
7 Replies

4. UNIX for Dummies Questions & Answers

Removing empty folders using the "find" command

Hi I'm trying to remove empty sub-folders from 1 main folder using the find method, but the "- empty" parameter isn't recognized by my Unix version. Any idea how to implement such thing? Thanks. (3 Replies)
Discussion started by: biot
3 Replies

5. Shell Programming and Scripting

removing empty tags

Hi, I have a file as shown below. <crown:clinicalData> <crown:alb date="2008-07-10" lowValue="3.50" method="BCG" value="3.50"/> <crown:cre date="2008-07-10" value="9.5"></crown:cre> <crown:ktvHdAd> </crown:ktvHdAd> <crown:ktvPdAd> </crown:ktvPdAd> ... (1 Reply)
Discussion started by: vijayhai
1 Replies

6. Shell Programming and Scripting

Find empty folders

In current folder, there are many subfolders, subfolder's subfolders... under it. How can I find out the empty folders with no files in it. I only need the top folder list. For example, I have folders like below: a/b/c a/b/x/x.txt a/s a/s/y I need get the folder a/s, but not... (6 Replies)
Discussion started by: rdcwayx
6 Replies

7. UNIX for Dummies Questions & Answers

Removing empty folders

Hello, I have a folder that contains all my music. Recently, I started using a different media player, and I let it manage my music folder. It has sorted all my music neatly in folders by artist and album. However, all the old folders that the songs used to be in are still there, yet they are... (2 Replies)
Discussion started by: emveedee
2 Replies

8. Shell Programming and Scripting

Deleting empty folders

Hey, I need help with writing a shell script that deletes empty folders..anyone? :) Thank you! (5 Replies)
Discussion started by: putukas
5 Replies

9. Windows & DOS: Issues & Discussions

Empty folders with SFU

Hi all, i am currently setting my windows XP environment to use with Services for Unix (NFS Client) to mount my unix file system as a network drive. However, though i could mount the unix file directory successful, but the folder is empty (which is not). Why is this so? i have imported my unix... (6 Replies)
Discussion started by: lchunleo
6 Replies

10. UNIX for Dummies Questions & Answers

How to delete some empty folders?

I have an amount of folders and I want to delete only the empty ones. But I have more than 200 empty folders, so I would preffer do not delete one by one... I know it is possible, but I don't know how. I've tried with the size, using 'du' command, and saving the result in a file. After that, I made... (3 Replies)
Discussion started by: saitsug
3 Replies
RMDIR(1)						    BSD General Commands Manual 						  RMDIR(1)

NAME
rmdir -- remove directories SYNOPSIS
rmdir [-pv] directory ... DESCRIPTION
The rmdir utility removes the directory entry specified by each directory argument, provided it is empty. Arguments are processed in the order given. In order to remove both a parent directory and a subdirectory of that parent, the subdirectory must be specified first so the parent directory is empty when rmdir tries to remove it. The following option is available: -p Each directory argument is treated as a pathname of which all components will be removed, if they are empty, starting with the last most component. (See rm(1) for fully non-discriminant recursive removal.) -v Be verbose, listing each directory as it is removed. EXIT STATUS
The rmdir utility exits with one of the following values: 0 Each directory entry specified by a directory operand referred to an empty directory and was removed successfully. >0 An error occurred. EXAMPLES
Remove the directory foobar, if it is empty: $ rmdir foobar Remove all directories up to and including cow, stopping at the first non-empty directory (if any): $ rmdir -p cow/horse/monkey SEE ALSO
rm(1) STANDARDS
The rmdir utility is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible. HISTORY
A rmdir command appeared in Version 1 AT&T UNIX. BSD
March 15, 2013 BSD
All times are GMT -4. The time now is 02:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy