Извлечение многих ведущих строк из огромного текстового файла - PullRequest
3 голосов
/ 14 октября 2011

У меня огромный текстовый файл.Я хочу извлечь первые 532541 строк и сохранить их в другом файле.Выделение текста с помощью мыши и выполнение Ctrl + C, очевидно, не является жизнеспособным решением здесь.

Как мне это сделать?

Ответы [ 4 ]

18 голосов
/ 14 октября 2011
head -n 532541 big-file > first-bit
4 голосов
/ 14 октября 2011

В Emacs M - <</kbd> C-SPC Cu 532541 Cn Mx записываемый регион . Если вы делаете это часто, напишите макрос клавиатуры, чтобы выполнить эти шаги.

В качестве альтернативы вы можете определить функцию, которая вставляет имя файла текущего буфера, например , поэтому . Тогда M -! head -n 531541 F3 > первый бит

2 голосов
/ 14 октября 2011

head - правильный инструмент для этой работы. С помощью awk или sed более эффективно прекратить обработку файла после целевой строки, поэтому не нужно читать бесполезный остаток файла.

sed '532541q' big > small
awk '{print} NR==532541 {exit}' big > small
1 голос
/ 14 октября 2011
awk 'NR<=532541' big > small
awk '{if(NR<=532541) print; else exit}' big > small  #if the file is really huge
sed -n '1,532541p' big > small
sed '1,532541!d' big > small
sed '532542,$d' big > small

:) веселись

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...