2016-08-04 4 views
1

Я не очень разбираюсь в командах Unix, но я хочу удалить со второй строки до 809 600-й строки. Я пробовал это:Удаление сотен тысяч строк в CSV-файле

sed '2,809600d' extract.csv 

.. но он, похоже, не удалил никаких строк, когда я делаю подсчет. Любая помощь приветствуется.

+0

Если вы используете команду 'sed', что она должна делать с' bash'? – Jdamian

+3

Вы должны знать, что 'sed' - это фильтр, т. Е. Обрабатывает вход и производит вывод ... он не меняет входной файл, если вы не используете параметр -i. Прочтите страницы 'sed' man! – Jdamian

ответ

1

команды Вы правильно, вам просто нужно отредактировать файл на месте, используя -i вариант sed иначе sed покажет выход на STDOUT, а не на самом деле изменения файла.

ли:

sed -i '2,809600 d' extract.csv 

Или, если вы хотите сделать резервную копию оригинального файла:

sed -i.bak '2,809600 d' extract.csv 

Исходный файл будет создана резервная копия, как extract.csv.bak.

+1

Или, 'sed -i" "'2,809600 d' extract.csv' на BSD/OSX. – John1024

Смежные вопросы