Как удалить количество строк из файла повторно

Я прочитал Как удалить первые n строк файла ascii с помощью команд оболочки? , это полезно. Однако у меня есть файл, как показано ниже (рассмотрите 2 столбца как 2 разных файла):

1 4 1 4 1 4 1 4 1 4 3 5 3 5 3 5 3 5 3 5 7 5 7 5 7 5 7 5 7 5 

Мне нужно удалить строку 2-5, затем 7-10 и т. Д. (Действительные выходы 1, 3, 7 и 4, 5, 5).

Я знаю количество строк, для которых повторяется шаблон (число). Однако я не знаю, будет ли каждый раз, когда он будет следовать одному и тому же шаблону, например, здесь его 1, 3, 7 следующий файл может иметь 4, 6, 1 или 4, 5, 5, поэтому мне нужно сделать это числом строк, чем grepping значения.

Может ли кто-нибудь дать мне указатель, как я могу удалить строки повторно?

  • Автоматизация труб?
  • как читать переменные в bash и передавать эти переменные в программу c ++ в качестве аргументов
  • Когда sh является символической ссылкой на bash или тире, bash ограничивает себя соблюдением POSIX, поэтому он должен быть на 100% совместим с sh?
  • Сценарий оболочки для перемещения файлов между двумя каталогами
  • Необходимо декодировать эту строку {$ HOSTNAME ^^} == {$ arrName ^^}
  • Короткий способ вызвать мой скрипт bash вместо использования команды Source
  • Как я могу использовать несколько операторов if внутри другого if инструкции awk-программы?
  • Использование getopts для анализа параметров после аргумента без опции
  • 3 Solutions collect form web for “Как удалить количество строк из файла повторно”

    Похоже, вы ищете uniq .

    Или, из комментариев:

     sed '2,5d;7,10d;12,$d' 

    Если вы действительно спрашиваете, выводится каждая n-я строка файла:

     cat file | perl -ne '$. % 5 or print' 

    Возможно:

     cat file | perl -ne '($.-1) % 5 or print' 

    используйте следующую команду

     cat filename | sort | uniq > filename2 
    Linux и Unix - лучшая ОС в мире.