LINUX.ORG.RU

отсечь первые n строк текстового файла


0

0

Доброго времени суток.

Есть текстовый файл. Надо удалить из него первые n строк и сохранить результат в новый файл. Желательно средствами шелла.

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

Если это важно, то файлы большие, 50-80 мегабайт.

Спасибо.

anonymous

Re: отсечь первые n строк текстового файла

У tail есть obsolete флаг +N

cat file | tail +51

удаляет первые 50 строк

dilmah ★★★★★ ()

Re: отсечь первые n строк текстового файла

Еще вариант: sed '1,50d' oldfile > newfile

Die-Hard ★★★★★ ()

Re: отсечь первые n строк текстового файла

awk '
BEGIN {n=1}
{
    if(n<=51) 
      n++
    else 
      print
} 'oldfile > newfile

гы-гы-гы!
кто еще как извернется? :)))

BreadFan ★★ ()

Re: отсечь первые n строк текстового файла

Отступы куда-то делись 
old = open("oldfile", "r")
new = open("newfile", "w") 

lines = old.readlines()
i = 0
for line in lines:
   if i > 50:
      new.writeline()
   i = i + 1
old.close()
new.close()

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.