How to display contents of all files under a directory on the screen using unix commands

You can use the * character to match all the files in your current directory.
cat * will display the content of all the files.
If you want to display only files with .txt extension, you can use cat *.txt, or if you want to display all the files whose filenames start with "file" like your example, you can use cat file*


If it's just one level of subdirectory, use cat * */* Otherwise,

find . -type f -exec cat {} \;

which means run the find command, to search the current directory (.) for all ordinary files (-type f). For each file found, run the application (-exec) cat, with the current file name as a parameter (the {} is a placeholder for the filename). The escaped semicolon is required to terminate the -exec clause.


I also found it useful to print filename before printing content of each file:

find ./ -type f | xargs tail -n +1

It will go through all subdirectories as well.

Tags:

Unix

Cat