List directories, subs and files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers List directories, subs and files
# 15  
Old 04-01-2011
Thanks, that is indeed what I need. Yet, the path is included in the last bid. If there are files in a subfolder, the path of those subfolders is printed as well. Will try myself to modify the code. Thanks!

I am surprised indeed, yet that is entirely due to my unexperience.

Will look up the difference between awk and nawk.
# 16  
Old 04-01-2011
a bit more generic:
Code:
find . -ls |nawk '{match($0,":[0-9][0-9]*");f=substr($0,RSTART+3);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}'

This User Gave Thanks to vgersh99 For This Post:
# 17  
Old 04-01-2011
Brilliant!
# 18  
Old 04-01-2011
Code:
find . -ls | awk '{match($11,"[^/]*$");print $1,$3,$11,substr($11,RSTART,RLENGTH)}'

# 19  
Old 04-04-2011
Thanks both!

I ended up using the last,
Code:
find . -ls | awk 'BEGIN { OFS = ";";} {match($11,"[^/]*$");print $1,$2,$11,substr($11,RSTART,RLENGTH)}'

I guess there is no way of adding a filetype to it (say it's a dir, file or link), correct? The above e.g. returns (just one line here):
3165047;24;./xmlrpcs.inc;xmlrpcs.inc

Where
  • 3165047 is inode
  • 24 is number of hard links?
  • ./xmlrpcs.inc is path
  • xmlrpcs.inc file name

There is a strange error using the
Code:
find . -ls |nawk '{match($0,":[0-9][0-9]*");f=substr($0,RSTART+3);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}'

it returned:
3165045 8 65045 8 -rw-r--r-- 1 user staff 1643 24 jul 2010 ./somefolder/somefile.inc somefile.inc
# 20  
Old 04-04-2011
Code:
find . -ls | awk '{match($11,"[^/]*$");type=($3~/^d/)?"directory":(($3~/^-/)?"file":($3~/^l/)?"link":"other");print $1,type,$11,substr($11,RSTART,RLENGTH)}'

# 21  
Old 04-04-2011
Wow, this is so way beyond my skills. Thanks. The problem with this is that it ends when there is a file with a blank space in it.

Example:
Quote:
File with a space
is printed as
Quote:
3409897;file;./File;File
But I need:
Quote:
3409897;file;./File with a space;File with a space
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

A way to list directories that contain specific files.

Hi everyone My issue is this, I need to list all the sub directories in a directory that contains files that have the extension *.log, *.dat and *.out . After reviewing the output i need to delete those directories i do not need. I am running Solaris 10 in a bash shell. I have a script that I... (2 Replies)
Discussion started by: jsabo40
2 Replies

2. Shell Programming and Scripting

List directories and count files inside

I'm trying to make a script that will list all directories under a selection as well as the number of files in each. I cannot get it to work under a symbolic link. The file structure is: XXX_20131127_001 dir01 (sym link) 2404x912 file.0000.xxx to ... (10 Replies)
Discussion started by: scribling
10 Replies

3. Shell Programming and Scripting

How to list all the files, directories and sub-directories in the current path except one directory?

Can anyone come up with a unix command that lists all the files, directories and sub-directories in the current directory except a folder called log.? Thank you in advance. (7 Replies)
Discussion started by: Manjunath B
7 Replies

4. UNIX for Dummies Questions & Answers

List biggest files (Not Directories)

Hello, can you please help me writing a command that would output the biggest files on my system from biggest to smallest? I want this to print only the files, not the directories. I have tried du -a ~ | sort -nr | head -10 However, this also prints out all the directories - which I do... (8 Replies)
Discussion started by: tonydaniels1980
8 Replies

5. UNIX for Dummies Questions & Answers

list directories with more than X files

I want to search a server beginning at /home and list directories with more than X files I found a hack that injects tons of files into a directory How can I search the server recursively and list directories with more than X files? Thank you! like, find /home (directories, that meet the... (5 Replies)
Discussion started by: vanessafan99
5 Replies

6. UNIX for Dummies Questions & Answers

List directories and sub directories recursively excluding files

Hi, Please help me, how to get all the direcotries, its sub directories and its sub directories recursively, need to exclude all the files in the process. I wanted to disply using a unix command all the directories recursively excluding files. I tried 'ls -FR' but that display files as... (3 Replies)
Discussion started by: pointers
3 Replies

7. Shell Programming and Scripting

How to get a list of files in a dir w/o sub-directories?

Hi I am looking for the correct syntax to find all files in the current directory without listing sub-directoris. I was using the following command, but it still returns subdirectoris and files inside them: $ ls -laR | grep -v ^./ Any idea? Thanks PS I am in ksh88 (4 Replies)
Discussion started by: aoussenko
4 Replies

8. Shell Programming and Scripting

Command to list only files omit directories.

Hi All I am writting a script that does a comparison between files in 2 diffectent directories. To do this I need a command that will list out only the files in a give directory and omit any sub dorectories with that directory. But I am unable to find it. Please Help. I tried ls... (5 Replies)
Discussion started by: Veenak15
5 Replies

9. UNIX for Dummies Questions & Answers

List directories and files

I want to count how many levels there are under a directory. I repeat level. Also how i count only all the files in a directoy ( all files of all directories of all leves down!) and how can i count only all the directories under a directory (including subdirectories, all levels down) ... (2 Replies)
Discussion started by: psalas
2 Replies

10. Shell Programming and Scripting

List specific files from directories

Hello, I would like to list the files from all directories that has been modified more than 1 month ago, and whose name is like '*risk*log'. I think a script like this should work : ls -R | find -name '*risk*.log' -mtime 30 -type f But it tells me "no file found" though I can see some. ... (4 Replies)
Discussion started by: Filippo
4 Replies
Login or Register to Ask a Question