Directory listing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Directory listing
# 1  
Old 04-03-2012
Directory listing

Hi,

I have a directory with a bunch of files say around 150K.

I want the directory's path and the filenames printed to a text file.

Example:
If I am in the directory /path/test and the files in this directory are
Quote:
1.txt
2.txt
3.txt
My output file should be like this
Quote:
/path/test/1.txt
/path/test/2.txt
/path/test/3.txt
Thanks in advance

---------- Post updated at 03:59 PM ---------- Previous update was at 03:51 PM ----------

I found it on google.

Hope it helps someone.

Code:
ls -d $PWD/*

Thanks

Last edited by methyl; 04-03-2012 at 06:33 PM.. Reason: code tags on the o/p provided solution
# 2  
Old 04-03-2012
That will blow up if there are too many files in the directory. That's a useless use of ls, anyway, since * finds all the files.

Code:
ls | awk -v PWD="$PWD" '$0=PWD $0'

# 3  
Old 04-03-2012
Try this (this does not have a limitation on the number of arguments, since printf is a shell built-in):
Code:
printf "%s\n" "$PWD"/*.txt

Quote:
Originally Posted by Corona688
That's a useless use of ls, anyway, since * finds all the files
In this case the asterisk serves to get the pwd in, without it it will just list the files...

Last edited by Scrutinizer; 04-03-2012 at 05:28 PM..
# 4  
Old 04-03-2012
Hi jacobs.smith,

Using perl:
Code:
$ perl -MFile::Spec -e 'for ( glob "*" ) { printf qq[%s\n], File::Spec->rel2abs( $_ ) if -f }'

# 5  
Old 04-03-2012
Modifying the solution posted in edited post #1 to allow for an empty directory, a directory name containing space characters, or a directory containing subdirectories or other non-files:

Code:
ls -1d "${PWD}"/* 2>/dev/null | while read filename
do
        if [ -f "${filename}" ]
        then
               echo "${filename}"
        fi
done


Ps. Storing 150k files on one directory is a design issue. You can get severe performance issues or even failures.
We can only issue a "ls" command in such a directory if there are enough resources to sort the list (the unix "ls" command always sorts the list) and the o/s will tolerate the command.
If "ls" stops working, use "find" and a custom "sort".


Folowing Scrutinizer's excellent post, I revise as follows (untested): O/P did not specify ".txt" in posted solution.
Code:
printf "%s\n" "$PWD"/* | while read filename
do
        if [ -f "${filename}" ]
        then
               echo "${filename}"
        fi
done


Last edited by methyl; 04-03-2012 at 07:54 PM.. Reason: typos
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Homework & Coursework Questions

Listing the files in a directory

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: A script that takes any number of directories as command line arguments and then lists the contents of each of... (3 Replies)
Discussion started by: Phaneendra G
3 Replies

2. Shell Programming and Scripting

Simple listing directory question

I have a very basic question: How do I list all the directories in the following order? If I do ls -l I get different results than I want to achieve. dir.1 dir.2 dir.3 dir.4 dir.5 dir.6 dir.7 dir.8 dir.9 dir.10 dir.11 dir.12 dir.13 dir.14 (4 Replies)
Discussion started by: jville
4 Replies

3. Shell Programming and Scripting

Directory Listing Help

i have searched through this site and have found some useful information but i'm struggling with one thing. In my script i am created a start and end file so I can get a listing of the files within those two files. However I want to exclude any sub-directories in this listing. Below are the... (8 Replies)
Discussion started by: J-DUB
8 Replies

4. UNIX for Advanced & Expert Users

Directory is invisible in listing but it is exist.

Hi ALL. Can anyone could help me. Have you had a chance to experienced that when you list (ls) a directory from ordinary execution of command, you couldn't see the directory. However, when you list it from the directory filename itself or even changing to directory (cd), it will show to you... (9 Replies)
Discussion started by: BCJapan
9 Replies

5. UNIX for Dummies Questions & Answers

Sorting Directory Listing

If I do an ls -l on a directory I get this: -rw-r--r-- 1 root other 5248094 Jun 24 03:56 monitor.log.7 -rw-r--r-- 1 root other 5248303 Jul 11 11:19 ct.log.1 -rw-r--r-- 1 root other 5248907 Jun 29 06:01 ct_monitor.log.5 -rw-r--r-- 1 root other 5249042 Jun 19... (1 Reply)
Discussion started by: Sepia
1 Replies

6. UNIX for Dummies Questions & Answers

How can i get directory listing?

Hai friends is there any command in unix that display only directories... (I have 5 directories in my home directory, and i also have some files along with directories...But when i tried to show the directory listing using the command ls -d i wasn't presented by the directory listing...Please... (2 Replies)
Discussion started by: haisubbu
2 Replies

7. UNIX for Dummies Questions & Answers

Full Directory Listing...

Is there a way of listing everything under a directory. So for example if you wanted to know everything under the USR directory you would get all the sub directories and files in those directories as well as the file directly under the USR directory. I would imagine that you could do this... (5 Replies)
Discussion started by: B14speedfreak
5 Replies

8. UNIX for Dummies Questions & Answers

Timestamp in directory listing

Hi, I need a help. I want to see all the files in the directory with the Time Stamp. I use the following command. $ls -lt This displays the files with time stamp, but not all the files. Only last few months, the files are displayed with timestamp, the old files are only have dates. ... (2 Replies)
Discussion started by: vijashok
2 Replies

9. UNIX for Dummies Questions & Answers

Recursive directory listing without listing files

Does any one know how to get a recursive directory listing in long format (showing owner, group, permission etc) without listing the files contained in the directories. The following command also shows the files but I only want to see the directories. ls -lrtR * (4 Replies)
Discussion started by: psingh
4 Replies

10. UNIX for Dummies Questions & Answers

Printing a Directory Listing in Unix

Does anyone know if there is a way to print the list of files contained in a directory (besides screen print)? Thanks!!! (10 Replies)
Discussion started by: lfulton
10 Replies
Login or Register to Ask a Question