We can delete the first line in a file using ‘sed’ command in the shell script. Let us see with the help of a test file called ‘sample.txt’. Here are the contents of the text file.
$ cat sample.txt first line second line third line
Option 1: Delete and save in a new file
In this option, a new file will be created with the modified data and the original file will remain the same.
sed – stream editor, ‘1d’ – delete first line. If you want to delete the first two lines, use ‘1,2d’
$ sed '1d' sample.txt > newfile.txt
Here, the original file sample.txt has 3 lines and the new file newfile.txt will have only two lines.
$ cat sample.txt first line second line third line $ cat newfile.txt second line third line
Option 2: Delete and save in the same file
In this option, the content will be deleted in the same file. The command should have an extra ‘-i’ after ‘sed’
$ sed -i '1d' sample.txt
The above command will delete the first line in the sample.txt file.
$ cat sample.txt second line third line
NOTE: If you are running this in Mac, you need to add ‘-e’ after ‘-i’. The command will look like
$ sed -i -e '1d' sample.txt