Поиск определенной строки в начале и конце строки в Vi

Баш, с mapfile , упоминаемым в комментариях к фиксиману, и на самом деле возможно лучшей версией:

# last [LINES=50]
_last_flush(){ BUF=("${BUF[@]:$(($1-LINES)):$1}"); } # flush the lines, can be slow.
last(){
  local LINES="${1:-10}" BUF
  ((LINES)) || return 2
  mapfile -C _last_flush -c $(( (LINES<5000) ? 5000 : LINES+5 )) BUF
  BUF=("${BUF[@]}") # Make sure the array subscripts make sence, can be slow.
  ((LINES="${#BUF[@]}" > LINES ? LINES : "${#BUF[@]}"))
  for ((i="${#BUF[@]}"; i>"${#BUF[@]}"-LINES; i--)); do echo -n "${BUF[i]}"; done
}

Его производительность в основном сравнима с решением sed , и становится быстрее по мере уменьшения количества запрашиваемых строк.

-121--16995-

airodump-ng помещает фразу «WPA handshake:» в правую верхнюю часть окна терминала, когда оно захватило рукопожатие.

Для получения подтверждения см. данное учебное пособие .

-121--243465-

Вы ищете что-то вроде «userland exec». Реализация здесь . В основном, это включает загрузку в память некоторого позиционно-независимого кода, который не имеет внешних ссылок, и маркировку его исполняемого файла. Эта позиция независимый код удаляет ранее запущенный исполняемый файл и перезагружает его. Похоже, вам придется изменить пользователя exec, который я написал хотя бы немного.

2
27.03.2018, 16:45
2 ответа

Для поиска fooв начале или конце строки:

/^foo\|foo$

Редактировать :Во избежание повторного ввода foo,вы также можете использовать обратную ссылку (, предложенную @StéphaneChazelas):

/\v(foo)&(^\1|\1$)

Объяснение :Для поиска fooв начале строки используйте /^foo, а для поиска в конце строки используйте /foo$.(Подробнее читайте здесь . )Экранированный разделитель "или"(|)проверяет любое совпадение.

7
27.01.2020, 21:49

Используйте / и соответствующее регулярное выражение.

  • Для поиска строки в начале строки используйте в качестве выражения ^string.
  • Для поиска строки в конце строки используйте в качестве выражения string$.

Символы ^и $привязывают выражение к началу и концу строки соответственно.

5
27.01.2020, 21:49

Теги

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