I\'ve stated before I\'m not very good at scripting so what I have below copies files from a share directory to mine where I change their permissions. But then I wanted to r
I tried to delete the first row from a CSV, cd into the location and then the answer to the question didn't work for me, was getting
sed: can't read 1d: No such file or directory
So, I've used the following stated here by @amit
sed -i '1d' filename.csv
While looking for this answer I also found this other thread. There they say use tail, which doesn't actually make an modifications which is what the OP wanted. You could over course copy to a temporary file. Additionally, if you were going to stream the files into another tool, you could use 'tail' in a pipe and never have to write temporary files or write to disk.
How can I remove the first line of a text file using bash/sed script?
To create a new CSV file without the header, you can do the following:
sed 1d file_with_header.csv > file_without_header.csv
You can delete the first line of a file using sed
:
sed -i '' 1d file.csv
If you just want to get the contents of the file without the first line, and without modifying the file, remove the -i ''
flag:
sed 1d file.csv
Here 1d is the command to execute:
So 1d means 'delete line 1'
If you want to get the first line, you can use sed too:
sed -n 1p file.csv
Here p stands for 'print' or
sed 1q file.csv
(see William Pursell's comment)