List directories, subs and files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers List directories, subs and files
# 50  
Old 04-05-2011
@ctsgnb

Ok, this works perfect.

Now it's up to me to understand the code, for I want to learn what the code in fact does. Any guidance would be cool, but do not feel obliged to do so.
# 51  
Old 04-05-2011
# 52  
Old 04-05-2011
Thanks a lot, will read through it and post back if there are things I don't understand.

Thanks a lot, really, for helping me out here. Much appreciated!
# 53  
Old 04-05-2011
Quote:
Originally Posted by ctsgnb
Ok then here you go :

Code:
find . ! -name \. -ls | nawk '{type=($3~/^d/)?"directory":($3~/^-/)?"file":($3~/^l/)?"link":"other";x=y=$0;sub(".*"$10" ","",x);sub(".*"$10".*/","",y);sub(".*",$1 OFS type OFS x OFS y,$0)}1' OFS=';'

type=set a variable called "type"
(condition)?<value_if_condition_is_verified>:<value_if_condition_is_not_verified_>this notation is used to test the value of field $3 :
($3~/^d/)?"directory":...if starting with "d" then type is set to "directory"
...($3~/^-/)?"file":...if starting with "-" type is set as "file"
...($3~/^l/)?"link":"other"... if starting with "l" type=link else, type is set to "other"
x=y=$0x and y are 2 variables initialized by the current whole line that is currently being read
sub(".*"$10" ","",x)In variable x which contains the whole line, i delete everything until the 10th field included, as well as the space just after that field, so i get the reste of the line from $11 until then end (in case there are some white space in the name of the file, so now x containes from $11 to end of line
sub(".*"$10".*/","",y)In variable y i remove a little more : i remove everything until the last slash found (included), so now y contains the name of the file without the ./.../ path part.
sub(".*",$1 OFS type OFS x OFS y,$0)now i remplace $0 by the wanted output
}1'1 means "true" so the default action taken is to print the current line $0
OFS=';'I choose semicolon as Output Field Separator

Last edited by ctsgnb; 04-05-2011 at 07:08 AM..
These 2 Users Gave Thanks to ctsgnb For This Post:
# 54  
Old 04-05-2011
This is like tutoring, thanks a lot. Working on it, playing around with the code and testing as we speak. Thanks!
 
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