List directories, subs and files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers List directories, subs and files
# 36  
Old 04-04-2011
Quote:
Originally Posted by dakke
@vgersh99

Do you want a full find . -ls you mean?
Please!
# 37  
Old 04-04-2011
Ok, I went to a one of the dirs where I ran into the issue. I did not list all files (far too long list). Yet, should be sufficient I guess...

Just to be sure, it concerns the following code:
Code:
find . -ls |awk '{match($0,":[0-9][0-9]*");f=substr($0,RSTART+3);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}'

Returns e.g.:
Quote:
3166060 -rw-r--r-- 66060 8 -rw-r--r-- 1 user staff 263 6 okt 2009 ./README.txt README.txt
A full find . -ls returns:
Quote:
3166059 0 drwxr-xr-x 6 user staff 204 5 jan 07:25 .
3166060 8 -rw-r--r-- 1 user staff 263 6 okt 2009 ./README.txt
3166061 0 drwxr-xr-x 4 user staff 136 5 jan 07:25 ./test_theme
3166062 8 -rw-r--r-- 1 user staff 765 22 aug 2010 ./test_theme/template.php
3166063 8 -rw-r--r-- 1 user staff 1061 5 jan 07:25 ./test_theme/test_theme.info
3166064 0 drwxr-xr-x 3 user staff 102 5 jan 07:25 ./update_test_basetheme
3166065 8 -rw-r--r-- 1 user staff 332 5 jan 07:25 ./update_test_basetheme/update_test_basetheme.info
3166066 0 drwxr-xr-x 3 user staff 102 5 jan 07:25 ./update_test_subtheme
3166067 8 -rw-r--r-- 1 user staff 363 5 jan 07:25 ./update_test_subtheme/update_test_subtheme.info
# 38  
Old 04-04-2011
Code:
find . -ls | nawk '{match($0,$9 FS $10);f=substr($0,RSTART+RLENGTH+1);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}'


Last edited by vgersh99; 04-04-2011 at 02:13 PM..
# 39  
Old 04-04-2011
Try that one :
Code:
find . -ls | nawk '{type=($3~/^d/)?"directory":($3~/^-/)?"file":($3~/^l/)?"link":"other";x=y=$0;sub(".*"$10,"",x);sub(".*"$10".*/","",y);sub(".*",$1 FS type FS x FS y ,$0)}1'

I just did a little fix so that that if a filename is
Code:
./tmp/titi

is it reported in the last column as
Code:
titi

instead of the tmp/titi of the previous proposal
# 40  
Old 04-04-2011
@vgersh99: sorry to say, but still returns the same errors. Print below:

Quote:
3166059 drwxr-xr-x . .
3166060 -rw-r--r-- 3166060 8 -rw-r--r-- 1 user staff 263 6 okt 2009 ./README.txt README.txt
3166061 drwxr-xr-x ./test_theme test_theme
3166062 -rw-r--r-- 3166062 8 -rw-r--r-- 1 user staff 765 22 aug 2010 ./test_theme/template.php template.php
3166063 -rw-r--r-- ./test_theme/test_theme.info test_theme.info
3166064 drwxr-xr-x ./update_test_basetheme update_test_basetheme
3166065 -rw-r--r-- ./update_test_basetheme/update_test_basetheme.info update_test_basetheme.info
3166066 drwxr-xr-x ./update_test_subtheme update_test_subtheme
3166067 -rw-r--r-- ./update_test_subtheme/update_test_subtheme.info update_test_subtheme.info
@ctsgnb: similar issue (I guess) as I have using the code of vgersh99
Quote:
3166059 directory . 3166059 0 drwxr-xr-x 6 user staff 204 5 jan 07:25 .
3166060 file ./README.txt README.txt
3166061 directory ./test_theme test_theme
3166062 file ./test_theme/template.php template.php
3166063 file ./test_theme/test_theme.info test_theme.info
3166064 directory ./update_test_basetheme update_test_basetheme
3166065 file ./update_test_basetheme/update_test_basetheme.info update_test_basetheme.info
3166066 directory ./update_test_subtheme update_test_subtheme
3166067 file ./update_test_subtheme/update_test_subtheme.info update_test_subtheme.info
# 41  
Old 04-04-2011
given a sample file (a saved 'find . -ls'):
files.txt:
Code:
3166059 0 drwxr-xr-x 6 user staff 204 5 jan 07:25 .
3166060 8 -rw-r--r-- 1 user staff 263 6 okt 2009 ./README.txt
3166061 0 drwxr-xr-x 4 user staff 136 5 jan 07:25 ./test_theme
3166062 8 -rw-r--r-- 1 user staff 765 22 aug 2010 ./test_theme/template.php
3166063 8 -rw-r--r-- 1 user staff 1061 5 jan 07:25 ./test_theme/test_theme.info
3166064 0 drwxr-xr-x 3 user staff 102 5 jan 07:25 ./update_test_basetheme
3166065 8 -rw-r--r-- 1 user staff 332 5 jan 07:25 ./update_test_basetheme/update_test_basetheme.info
3166066 0 drwxr-xr-x 3 user staff 102 5 jan 07:25 ./update_test_subtheme
3166067 8 -rw-r--r-- 1 user staff 363 5 jan 07:25 ./update_test_subtheme/update_test_subtheme.info

running:
Code:
nawk '{match($0,$9 OFS $10);f=substr($0,RSTART+RLENGTH+1);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}' files.txt

produces:
Code:
3166059 drwxr-xr-x . .
3166060 -rw-r--r-- ./README.txt README.txt
3166061 drwxr-xr-x ./test_theme test_theme
3166062 -rw-r--r-- ./test_theme/template.php template.php
3166063 -rw-r--r-- ./test_theme/test_theme.info test_theme.info
3166064 drwxr-xr-x ./update_test_basetheme update_test_basetheme
3166065 -rw-r--r-- ./update_test_basetheme/update_test_basetheme.info update_test_basetheme.info
3166066 drwxr-xr-x ./update_test_subtheme update_test_subtheme
3166067 -rw-r--r-- ./update_test_subtheme/update_test_subtheme.info update_test_subtheme.info

.
Anything wrong?
Once again, post a the output of 'find . -ls' that results in the wrong output.
# 42  
Old 04-04-2011
Quote:
Once again, post a the output of 'find . -ls' that results in the wrong output.
If I use only find . -ls, the result is fine. Fine here means is shown in the result below:
Quote:
3166059 0 drwxr-xr-x 6 user staff 204 5 jan 07:25 .
3166060 8 -rw-r--r-- 1 user staff 263 6 okt 2009 ./README.txt
3166061 0 drwxr-xr-x 4 user staff 136 5 jan 07:25 ./test_theme
3166062 8 -rw-r--r-- 1 user staff 765 22 aug 2010 ./test_theme/template.php
3166063 8 -rw-r--r-- 1 user staff 1061 5 jan 07:25 ./test_theme/test_theme.info
3166064 0 drwxr-xr-x 3 user staff 102 5 jan 07:25 ./update_test_basetheme
3166065 8 -rw-r--r-- 1 user staff 332 5 jan 07:25 ./update_test_basetheme/update_test_basetheme.info
3166066 0 drwxr-xr-x 3 user staff 102 5 jan 07:25 ./update_test_subtheme
3166067 8 -rw-r--r-- 1 user staff 363 5 jan 07:25 ./update_test_subtheme/update_test_subtheme.info
So I have to use your other sample code, for I needed a different output (as explained in previous posts). Yet, using
Code:
find . -ls |awk '{match($0,$9 OFS $10);f=substr($0,RSTART+RLENGTH+1);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}'

does produce an incorrect return.

The incorrect return using the 'full code'
Code:
find . -ls |awk '{match($0,$9 OFS $10);f=substr($0,RSTART+RLENGTH+1);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}'

gives the following return:
Quote:
3166059 drwxr-xr-x . .
3166060 -rw-r--r-- 3166060 8 -rw-r--r-- 1 user staff 263 6 okt 2009 ./README.txt README.txt
3166061 drwxr-xr-x ./test_theme test_theme
3166062 -rw-r--r-- 3166062 8 -rw-r--r-- 1 user staff 765 22 aug 2010 ./test_theme/template.php template.php
3166063 -rw-r--r-- ./test_theme/test_theme.info test_theme.info
3166064 drwxr-xr-x ./update_test_basetheme update_test_basetheme
3166065 -rw-r--r-- ./update_test_basetheme/update_test_basetheme.info update_test_basetheme.info
3166066 drwxr-xr-x ./update_test_subtheme update_test_subtheme
3166067 -rw-r--r-- ./update_test_subtheme/update_test_subtheme.info update_test_subtheme.info
What else do you want me to post on this forum? Sorry that I'm not getting what else you want me to post...
 
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