Linux / Unix: Use Cat Command To Append Data To a File

I am a new Unix user. I have Debian Linux installed. I need to append text to a file called daily.log. How do I use the cat command to append data to a file?

You can use the cat command to append data or text to a file. The cat command can also append binary data. The main purpose of the cat command is to display data on screen (stdout) or concatenate files under Linux or Unix like operating systems. To append a single line you can use the echo or printf command.

ADVERTISEMENTS

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsNone
TimeN/A

Redirection symbol

Syntax

The syntax is:

cat file >> file2
echo 'text to append' >> file2
printf "text to append\n" >> fileName

Examples

Create a text file called foo.txt, type:

cat > foo.txt
This is a test.
I like Unix operating systems.

To save the changes press CTRL-d i.e. press and hold CTRL and press d. Create another text file called bar.txt as follows:

echo 'For desktop usage I prefer Apple OS X unix operating systems.' > bar.txt

Display both files on sceen, enter:

cat foo.txt
cat bar.txt

To append a contains of bar.txt to to foo.txt, enter:

cat bar.txt >> foo.txt
cat foo.txt

To append a ‘Use unix or die’ text to foo.txt file, enter:

echo 'Use unix or die' >> foo.txt
cat foo.txt

Sample outputs:

Fig.01: Using the cat and echo command to append a text to a file.

Fig.01: Using the cat and echo command to append a text to a file.

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
10 comments… add one
  • sindhu Mar 8, 2014 @ 5:03

    when i execute two commands like echo $val(nn) > t.txt and awk -f throughput.awk wpan.tr >t.txt
    i want the file t.txt to have two columns side by side leaving a tab or space in between. but i m getting output like this

    7
    81.85
    7
    67.09

    pls help in this regard…thanks

    • 🐧 Nix Craft Mar 8, 2014 @ 6:19

      I’m not sure I understood your query. To merge corresponding or subsequent lines of files try paste command.

  • camden_kid Apr 23, 2014 @ 12:56

    Thanks.

  • chiranjeevi Jun 18, 2014 @ 5:04

    Hi,

    plz help me for below req.

    I want to remove common numbers from two files.

    ex: In file1 numbers are 1,2,3,4 and In file2 are 1,2,3,4,5,6,7,8,9,10.

    I need a out like 5,6,7,8,9,10….
    Plz help me
    Thx in advances….

    • Nilabh Nov 12, 2014 @ 12:16

      Sed command will suffice your requirement.

  • kjell Sep 23, 2015 @ 13:15

    Cat text >> file
    does not work if text is a directory name. Pitty as this would be a nice way to collect usefull paths in a file

  • Tarikur Nov 25, 2015 @ 11:09

    sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main 9.5' /etc/apt/sources.list.d/postgresql.list

    Not working in ubuntu. Its saying Permission denied

    • Sacheen Shah Jun 15, 2016 @ 15:35

      echo 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main 9.5' | sudo /etc/apt/sources.list.d/postgresql.list

  • Karthik Oct 6, 2016 @ 7:36

    I want to edit an existing file by adding few text in after particular content in an xml file. How can we do this.

  • ... Dec 6, 2017 @ 3:28

    Thanks.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.