Find directories without subdirectories


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Find directories without subdirectories
# 8  
Old 04-13-2012
Good point methyl, it gives a relative path. For an absolute path one would need to use
Code:
ls -lR "$PWD" | awk -F: '!($0 ~ ORS "d") && $0 ~ ORS "-" {print $1}' RS=

Or some other absolute path to the top directory.

Last edited by Scrutinizer; 04-13-2012 at 07:49 PM.. Reason: added missing tilde
# 9  
Old 04-13-2012
@Scrutinizer
Not the point I was trying to make.
The unix ls -lR does not list the absolute path in the filename field - it shows the directory name as a heading and the directory items listed underneath preceded by a "total" line. A pretty useless format for scripting.

I deduce that on your system ls -lR "${PWD}" is something like the output from:
Code:
find "${PWD}" -print | sort | while read ITEM
do
          ls -lad "${ITEM}"
done


Last edited by methyl; 04-13-2012 at 07:36 PM..
# 10  
Old 04-13-2012
No it also gives the regular ls -lR output, so a directory header (followed by a colon) and total and all the files and subdirectories are only listed with their names, without a path in a ls -l listing. However, I don't find this format that useless, since the output is separated by 2 newlines and so we can use the awk RS= feature and -F: makes sure the directory name is always in $1. We then only need to test if there are no newlines followed by a d (directory) and at least one newline followed by a "-" (file), to find out if $1 needs to be printed...

Last edited by Scrutinizer; 04-13-2012 at 07:44 PM..
These 2 Users Gave Thanks to Scrutinizer For This Post:
# 11  
Old 04-13-2012
Just bookmarked this post!

The O/P may not be allowed awk , but otherwise it's brilliant.


Off topic. My post was a quick adaption of a script I wrote for a real-world problem when package software keeled over because a path was too deep. The script started life to find the over-deep paths in a tree of 250,000+ directories. The bottom level of every tree only contains two directories. The original version counted the /'s in all the bottom level directories and output only those which were too deep. Nightmare because it kept changing!

Last edited by methyl; 04-13-2012 at 07:58 PM..
# 12  
Old 04-13-2012
Nice, was this some time ago, since it appears to be written in classic Bourne Shell (when awk was pre-nawk awk)? I was also thinking of involving ls' -a option, but I did not want to open that can of worms, since I presumed that the OP did not require hidden directories to be taken into account....
# 13  
Old 04-13-2012
@Scrutinizer
Yes, my script was written some long time ago. I have accumulated a large number of Shell scripts for on-off and routine jobs since my first encounter with unix (which was indeed pure Bourne Shell). I try to write basicaly portable "open logic" scripts which anybody can follow and tend to ignore Bash extensions in this forum regardless of what I may use in the real world when I need a script to run efficiently.
Btw. I on some releases I have seen awk change to nawk then back to awk over a period of time. We just choose the best one and rename it to awk.

Last edited by methyl; 04-13-2012 at 09:58 PM..
# 14  
Old 04-14-2012
@methyl, o certainly, I also try to write portable (POSIX) code, especially on this forum, and also wrote pre-POSIX Bourne Shell scripts because of maximum portability (I wrote "nice", since I recognized the style) and thus also most of the time ignore bash extensions and with "awk was pre-nawk awk" I tried to refer to the kind of awk, not what it was called on the command line. My remark was only out of interest..

Last edited by Scrutinizer; 04-14-2012 at 03:02 AM..
This User Gave Thanks to Scrutinizer For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Zip all the files including directories - subdirectories

Hi, Is is possible to zip a folder and all its contents within the folder ( including sub-directories and files) into a zip file? and can regain the same structure if unzipped? Thanks (6 Replies)
Discussion started by: rudoraj
6 Replies

2. UNIX for Dummies Questions & Answers

show all text files in directories and subdirectories

Hi! I am trying to find all text files in my home directory that contain the string "C-d" so I tyied this : cd ~ find . -type f -exec grep -l "C-d" {} + but it took very long so I tryed this : ls -aR | xargs file |grep text but it didn't descend in the directories and it said :... (3 Replies)
Discussion started by: kelamahim
3 Replies

3. Shell Programming and Scripting

push and pop directories and subdirectories

I need to use pushd and popd to navigate all of the subdirectories in my current directory. I know how to get into each subdirectory, add it to the stack, and pop back out, but i cant figure out how to get into subdirectories deeper than the first without adding a foreach and if statement for... (1 Reply)
Discussion started by: ollie88r
1 Replies

4. Shell Programming and Scripting

backup of directories and subdirectories

Hello I'm new to the area Bash scripting and that is why I have a search script that is run on my unix server and always when I start the server or every 24 hours The script will create backups of directories and subdirectories I never found what I'm here make a new thread ... (1 Reply)
Discussion started by: HansWurst
1 Replies

5. AIX

recursive archive directories and subdirectories

Hi everyone, Maybe this is simple question for many of you, but I get confused.:confused: How to archive a parent directory which contains some subdirectories and some files? I have searched this forum, there are some commands like tar,etc, I tried but can not be implemented in my system.... (6 Replies)
Discussion started by: wilsonSurya
6 Replies

6. Shell Programming and Scripting

Listing directories and subdirectories

How can list the directories and the subdirectories in a folder. It is possible with a single UNIX command. For example i have a folder named "archive" and another folder named "0808" and then multiple folders are there ... Can i list all the directories and subdirectories in the folder... (6 Replies)
Discussion started by: karansachdeva
6 Replies

7. Windows & DOS: Issues & Discussions

Backup Directories and SubDirectories with log using DOS

Hello. I need to Backup an Directorie with Sub-directories and after that put in a log file. Then i need to copy several files and have a log file to. All that using old DOS. Could someone help ? Thanks in advance (1 Reply)
Discussion started by: osramos
1 Replies

8. UNIX for Dummies Questions & Answers

Compare/Diff between directories and subdirectories?

Hi, Does anybody know the cmd to compare two areas and print out the different files w/ path? I tried cmp and diff and dircmp but with no luck. Should I grep and print? For example: /aa/images/jan ..../images/feb /bb/images/jan ..../images/feb i want to print the compare,... (5 Replies)
Discussion started by: andylee80
5 Replies

9. Shell Programming and Scripting

Display only subdirectories from given directories

Hi Genius, I would like to display all the subdirectories only with timestamp. For exmple: Given Directory : orabkup /orabkup total 11365112 drwxr-xr-x 9 oracle oradba 256 Jan 03 16:01 db1 /orabkup/db1: total 0 drwxr-xr-x 2 oracle oradba 256 Jan 03 16:01... (8 Replies)
Discussion started by: HAA
8 Replies

10. UNIX for Dummies Questions & Answers

Permissions for Directories and Subdirectories

Is it possible to have a directory owned (by root) with permissions drwx------ and then have a sub directory of rwxrwxrwx. I know that this may be soo simple but I had no luck googling it. Thanks for your help (1 Reply)
Discussion started by: clancymf
1 Replies
Login or Register to Ask a Question