выбор 1 строки и 1 строка вниз от номера строки

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

head -n48964204 xag

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

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

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

9 ответов

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

sed -n '48964203,48964205p' xag

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

[d2 ] Объяснение -n должно быть тихим, пока мы не попросим вас что-то напечатать 2,7, первую строку, которую я хочу, и последнюю строку, которую я хочу, и amp; все между ними. Это адрес. p распечатать эти строки
5
ответ дан 22 May 2018 в 22:15
  • 1
    Я узнал немного sed, используя ссылку , которую вы предлагаете, это было весело, однако я не могу вспомнить, что я читал: D – Ravexina 25 May 2017 в 12:21
  • 2
    @Ravexina есть один на awk на этом сайте, и я никогда не смогу пройти мимо введения: S – Zanna 25 May 2017 в 12:32

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

sed -n '48964203,48964205p' xag

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

Объяснение

-n должно быть тихим, пока мы не попросим вас что-то напечатать 2,7, первую строку, которую я хочу, и последнюю строку, которую я хочу, и amp; все между ними. Это адрес. p распечатать эти строки
5
ответ дан 18 July 2018 в 12:45

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

sed -n '48964203,48964205p' xag

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

Объяснение

-n должно быть тихим, пока мы не попросим вас что-то напечатать 2,7, первую строку, которую я хочу, и последнюю строку, которую я хочу, и amp; все между ними. Это адрес. p распечатать эти строки
5
ответ дан 24 July 2018 в 20:01

Используя awk:

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

Он вернет строки 48964203 до 48964205 и включит их оба. Используя NR, мы можем указать входные записи, поэтому awk печатает только указанные строки для нас.

3
ответ дан 22 May 2018 в 22:15

Perl-подход:

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

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

1
ответ дан 22 May 2018 в 22:15

Используя awk:

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

Он вернет строки 48964203 до 48964205 и включит их оба. Используя NR, мы можем указать входные записи, поэтому awk печатает только указанные строки для нас.

3
ответ дан 18 July 2018 в 12:45

Perl-подход:

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

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

1
ответ дан 18 July 2018 в 12:45

Используя awk:

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

Он вернет строки 48964203 до 48964205 и включит их оба. Используя NR, мы можем указать входные записи, поэтому awk печатает только указанные строки для нас.

3
ответ дан 24 July 2018 в 20:01

Perl-подход:

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

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

1
ответ дан 24 July 2018 в 20:01

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

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