I'm looking for an easy way to build a list in a txt file of the filenames inside a given directory. Filenames only preferred, though I could trim other fields if necessary.
- 92,125
3 Answers
This command should be helpful:
find -maxdepth 1 -type f ! -name flist.txt -printf "%P\n" > flist.txt
Command information:
-maxdepth: Don't search for files below folders of one level down.type f: Search for only files-printf "%P\n": Print the names only and on separate lines> flist.txt: Store those names (using output redirection) in a file to be created on the fly called `flist.txt! -name flist.txt: Skips the name of the output file from the generated list
- 37,534
The ls (list) command executed in a terminal window is the key, and its man page lists options.
Let's say you are in your home directory, and you want a list of all the files in directory /x/y . The command would be
ls -b1A /x/y > listoffiles
for the -b option lists all files even with spaces, -1 (number one, not letter l) option of ls will list with one line per file name, and -A will make sure hidden files are shown, but not directories.
- 17,705
In terminal, change directory to the required folder, then use the command:
ls > files.txt
This will redirect a list of the contents of the folder to the text file files.txt. You didn't indicate what form the contents of the folder takes. If there are sub-folders present, in addition to a group of files, the folder names will also be included. But, once you have the text version you can sort/edit it any way you desire.
- 36,890
- 56
- 97
- 151
- 2,692