текст между двумя словами с некоторыми строками перед узорами

Попробуйте воссоздать загрузчик Windows 7 для входа в систему. Для этого вам понадобится pendrive с отформатированной ISO-версией Windows 7 x64 N (мин. 4 ГБ) и USB-программой Rufus Bootable. Вы можете скачать это бесплатно из Интернета. А также EasyBCD для создания загрузчика Windows с эмулированным загрузчиком Grub для загрузки вашей Ubuntu OS. Это шаги:

Создайте подкачку Windows 7 или подготовьте DVD-диск установки Windows 7. Когда появится экран настройки Windows 7, выберите ремонт компьютера и выберите из других окон меню cmd Запишите эту команду - Теперь вы должны войти в систему Windows. Установить программу EasyBCD. Создать новую версию загрузки с эмулятором Grub. Перезагрузите компьютер и выберите grub, когда ваша система Linux

Надеюсь, что я мог бы вам помочь:)

1
задан 9 February 2016 в 12:28

1 ответ

Другой способ использования Perl:

perl -ne 'BEGIN{ my @buffer } unshift(@buffer, $_); splice(@buffer, 4); if(/\bcommand\b/) { print(reverse(@buffer)); while(<>) { print(); /\bideal\b/ && exit } exit }' file
n: заставляет Perl предполагать следующий цикл вокруг вашей программы, что заставляет его перебирать аргументы в имени файла несколько как sed -n или awk:
LINE:
  while (<>) {
      ...             # your program goes here
  }
-e: может использоваться для ввода одной строки программы. BEGIN{ my @buffer } unshift(@buffer, $_); splice(@buffer, 4); if(/\bcommand\b/) { print(reverse(@buffer)); while(<>) { print(); /\bideal\b/ && exit } exit }: вставляет текущую строку в начале буфера и обрезает буфер до длины 4; если текущая строка содержит слово command, печатает буфер в обратном порядке и выполняет итерацию по всем оставшимся строкам, печатающим их; если печатная строка, содержащая ideal или конец файла, была достигнута, завершается.
% cat file
my name is
Mansour
and I confuse to
use sed
or grep for
piping my command output
to get 
my ideal output
% perl -ne 'BEGIN{ my @buffer } unshift(@buffer, $_); splice(@buffer, 4); if(/\bcommand\b/) { print(reverse(@buffer)); while(<>) { print(); /\bideal\b/ && exit } exit }' file
and I confuse to
use sed
or grep for
piping my command output
to get 
my ideal output
%
1
ответ дан 23 May 2018 в 13:40
  • 1
    Ты любишь perl .. не так ли? :) – heemayl 10 February 2016 в 08:12
  • 2
    @heemayl Конечно! Когда других инструментов недостаточно или grep уже принято ...;) (иногда я предпочитаю его AWK, потому что манипулировать массивами проще) – kos 10 February 2016 в 11:49
  • 3
    Да .. awk хорошо знает свою работу. Может быть, когда-нибудь я начну изучать ее у вас :) – heemayl 10 February 2016 в 11:49
  • 4
    @heemayl У вас могут быть лучшие учителя, поверьте мне :) Да AWK очень полезен при обработке чего-то, у которого есть естественная структура записей / полей, зная его и используя его, когда это необходимо вместо sed / grep, похоже на остановку до вырезать бумагу с помощью ножа и начать делать это с помощью ножниц, если вы знаете, что я имею в виду. :) – kos 10 February 2016 в 12:05

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

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