Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know that using "ls -R ." in bash you can recursively list the filenames.

Can I use some similar command to list the contents of each file just the way their names are displayed using the ls command. I mean to a single file or stream like the standard output.

Is there a way I can format the output from such a command? Like say, add something like a few blank lines between the contents of each of the files for better readbility?

share|improve this question
find . -type f | while read file;
  # Here you can do whatever you like
  # Like output a few empty lines

  # output filename
  echo $file      
  # this prints the contents of the file to STD OUT
  cat $file;

done > targetfile
share|improve this answer
But how do you get everything into a single file? When I tried this, it would go into an endless loop, cating the same files all over again. – slhck Aug 6 '12 at 13:12
@slhck - looping? I dont see how – Nifle Aug 6 '12 at 13:15
How do I use this: find . -type f -exec cat {} \; to put it into a single file? – Arpith Aug 6 '12 at 13:24
@Arpith - find . -type f -exec cat {} \; > /path/to/your/outputfile – Nifle Aug 6 '12 at 13:27
@Nifle: I think the command is listing the same files' contents recursively rather than going in depth through the filesystem heirarchy and listing the contents of various files. – Arpith Aug 6 '12 at 13:34

Create a meta-script with find and pipe it to sh.

$ find /home/jaroslav/tmp/su/  2>/dev/null \
    -printf 'echo -e \\\\n\\\\n%p\ncat "%p"\n' |sh


cat: /home/jaroslav/tmp/su/: Is a directory


while read line; do
    login=$(echo $line | cut -d : -f 1)
        echo $login
done < /etc/passwd
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.