List directories, subs and files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers List directories, subs and files
# 29  
Old 04-04-2011
In case you refer to a 'find . -ls' works
'find . -ls' works fine, but that does not return what I need. It does not allow me to find the name of the file and the folder it belongs to.

When I have a return like this:
Quote:
3366394;0; ./folder/file;file
In excel
  • I can take the last string (cf. file) and
  • subtract if of (./folder/file),
  • resulting in the string ./folder/, which is thus the folder holding the file.
Same for folders:
Quote:
3366394;0; ./folder_level1/folder_level2;folder_level2
  • I can take the last string (cf. folder_level2) and
  • subtract if of (./folder_level1/folder_level2),
  • resulting in the string ./folder_level1/, which is thus the folder holding the folder
With a regular find . -ls, I can not deduce that. Hence, need to get some more info and use more complex stuff.

In case you refer to
Quote:
find . -ls | awk '{match($11,"[^/]*$");type=($3~/^d/)?"directory"Smilie($3~/^-/)?"file"Smilie$3~/^l/)?"link":"other");print $1,type,$11,substr($11,RSTART,RLENGTH)}'
Files and folders with a blank space in their name (e.g. 'this is a file with a few blank spaces'), the returned file name and path is:
./this;this
and not
./this is a file with a few blank spaces;this is a file with a few blank spaces

Last edited by dakke; 04-04-2011 at 11:03 AM..
# 30  
Old 04-04-2011
Hmmm... I'm not following... I thought what you had satisfied your requirements...
Sounds like the requirements have changed.
Please post the output of a sample 'find . -ls' and desired output.
# 31  
Old 04-04-2011
Give a try with this
Code:
find . -ls | awk '{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'

# 32  
Old 04-04-2011
@vgersh99

You did, untill I noticed that the output was not as desired for some files (posted in previous reply). Your output with your code
Quote:
find . -ls |nawk '{match($0,":[0-9][0-9]*");f=substr($0,RSTART+3);match(f,"/[^/]*$");print$1,$3,f,substr(f,RSTART+1)}'
was:
Quote:
1223405;120; ./Folder/Folder/Folder/file.pdf;file.pdf
2539552;40; ./File;File.odt
1519496;0; ./Folder2;Folder2
1519497;0;19497 0 drwxr-xr-x 9 user staff 306 24 okt 2009 ./Virtual Machines.localized/.localized;.localized
1519504;8;19504 8 -r--r--r-- 1 user staff 92 24 okt 2009 ./Folder3/.Folder/de.strings;de.strings
1519503;8;19503 8 -r--r--r-- 1 user staff 86 24 okt 2009 ./Folder3/.Folder/en.strings;en.strings
the issue here is that (last line):
'19503' should not be there, neither should the ' -r--r--r--'. Therefore I applied the other code.

@ ctsgnb
This for now seems to work, will try and report back if not.
Code:
find . -ls | awk '{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'

# 33  
Old 04-04-2011
@dakke,

You could give a feedback also if it works as expected ... Smilie
# 34  
Old 04-04-2011
I know what the problems is, but I need the output of find . -ls processing which produces wrong results....
# 35  
Old 04-04-2011
@vgersh99

Do you want a full find . -ls you mean?

@ctsgnb
Will do. Smilie
 
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