49

How can I create a new file "new.txt" that is a concatenation of "file1.txt" and "file2.txt" in Unix?

  • zcat file1.txt.gz > new.txt for gzip files – frops Dec 18 '15 at 14:47
80
cat file1.txt file2.txt > new.txt
| improve this answer | |
  • 8
    cat actually means concatenate. – user1686 Jan 4 '11 at 13:44
  • 3
    I don't even know how to use Linux and I knew this. Sounds like a homework question to me :) – Shinrai Jan 4 '11 at 21:11
  • Helpful addition: With a ">" the target-file is overwritten with the source-files and with ">>" the source-files are appended to the target-file – user16115 Jan 4 '11 at 23:14
  • 11
    Bash, ksh, zsh: cat file{1,2}.txt > new.txt – Paused until further notice. Jan 4 '11 at 23:30
16

if the file new.txt is an empty file, you can simply use the cat command :

cat file1.txt file2.txt > new.txt

if new.txt is not empty, and you want to keep its content as it is, and just want to append the concatenated output of two files into it then use this:

cat file1.txt file2.txt >> new.txt
| improve this answer | |
6

If you want to append two or more files to an existing file without overwriting the file's (file4.txt) content, then below is an example:

cat file1.txt file2.txt file3.txt >> file4.txt

Even if the file file4.txt is not present, it would get created. If it is present, the other files' contents would get appended to it.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy