поднимание 1 строки и 1 строки вниз от номера строки

Я пытаюсь отобразить немного строк из файла. То, что я знаю, является чем-то вроде этого:

head -n48964204 xag

Но это отобразит номер строки, как упомянуто. то, что я пробую, должно выбрать запись для номера строки 48964203,48964204,and 48964205.

Я также попробовал это: sed -n 48964204p xag но это отображает только одну одну строку файла.

3
задан 25 May 2017 в 12:04

3 ответа

В sed Вы указываете первую строку и последнюю строку, которую Вы хотите как это

sed -n '48964203,48964205p' xag

так как Вы знаете, что номер строки указывает предыдущее число и последующее число!

Объяснение

  • -n будьте тихи, пока мы не попросим, чтобы Вы распечатали что-то
  • 2,7 первая строка, которую я хочу и последняя строка, которую я хочу и все промежуточное. Это - адрес.
  • p распечатайте те строки
5
ответ дан 1 December 2019 в 13:11

Используя awk:

awk 'NR==48964203,NR==48964205' xag

Это возвратит строки 48 964 203 - 48 964 205 и включает их обоих. Используя NR мы можем указать входные записи так awk, только печать указала строки для нас.

3
ответ дан 1 December 2019 в 13:11

Подход Perl:

perl -lne 'print if $.>=48964203 and $.<=48964205' input.txt

ключевая идея состоит в том, чтобы распечатать номера строки, которые соответствуют логическому выражению - номер строки больше или равен 48964203, и номер строки меньше чем или равен 48964205.

1
ответ дан 1 December 2019 в 13:11

Другие вопросы по тегам:

Похожие вопросы: