I have a .csv file where I’d like to delete the lines between line 355686 and line 1048576.
I used the following command in Terminal (on MacOSx):
sed -i.bak -e '355686,1048576d' trips3.csv
This produces a file called trips3.csv.bak — but it still has a total of 1,048,576 lines when I reopen it in Excel.
Any thoughts or suggestions you have are welcome and appreciated!
I suspect the problem is that excel is using carriage return (\r, octal 015) to separate records, while sed assumes lines are separated by linefeed (\n, octal 012); this means that sed will treat the entire file as one really long line. I don’t think there’s an easy way to get sed to get sed to recognize CR as a line delimiter, but it’s easy with perl:
(Note: if 1048576 is the number of “lines” in the file, you can leave off the
|| $. > 1048576part.)