Обнаружение шаблона в конце строки с grep

Realtek ALC887 (HDA Intel) в хрипящем?

Я нашел это:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679056

в конце здесь:

http://forums.debian.net/viewtopic.php?f=7&t=59680

удачи.

67
13.04.2017, 15:36
7 ответов
[112338]Якорь [112934]$[112935] совпадает с концом строки.

Для этого можно также использовать [112936]find[112937]:

alias macro
91
27.01.2020, 19:31
[112342]В дополнение к вопросу обратите внимание, что [112938].rar[112939] не только совпадает с ".rar", но и с каждым отдельным символом (в том числе [112940].[112941]) перед [112942]rar[112943]. В этом случае, вероятно, не проблема, но [112944].[112945] должен быть выпущен в регексах.

dns-sd -Q www.google.com

10
27.01.2020, 19:31
[112390] Вы также можете поручить [113034] grep[113035] искать вашу строку, начинающуюся с границы слова. A [113036].[113037] - одна из таких границ.

Пример

Скажем, у меня есть этот образец данных.

Эта команда найдет только файл с расширением [113038].rar[113039].

Как это работает?

Метахарактер [113328]\b[113329] - это якорь, подобный знаку каретты и знаку доллара. Он совпадает в позиции, которая называется "граница слова". Это совпадение нулевой длины.

  • Ситуации, в которых это не сработает
  • Если у вас есть файлы с именами [113042]blah-rar[113043], они также будут обнаружены.
  • Это потому, что символы, отличные от буквенно-цифровых, обычно считаются пограничными символами, и поэтому будут проскальзывать мимо этого подхода.[112407].
5
27.01.2020, 19:31
[113614]Просто сделайте:

Вам вообще не нужен grep [114064]grep[114065].

ПРИМЕЧАНИЕ:

Вышеуказанное работает... за исключением того, что он все еще получает [114068]по крайней мере

afile-rar[114071], и я не понимаю почему. Я оставлю это здесь, но я не горжусь этим. В любом случае, как говорили другие:

mbrwrwin.exe install rtmbr.bin
0
27.01.2020, 19:31

Используйте одинарные кавычки, чтобы символ $ работал как конец -строки -. Если вы хотите также использовать grep с какой-либо переменной, используйте комбинацию двойных и одинарных кавычек, как показано ниже:

grep "$var"'$'

Мое предыдущее сообщение было удалено из-за дублирования. Позвольте мне объяснить, чем это отличается.

В других сообщениях упоминается либо полное использование двойных кавычек "", либо полное использование одинарных кавычек ''. У них обоих есть свои ограничения. Следующее объясняет это.

Проблема со всеми двойными кавычками следующая :grep "pattern$"выдает следующую ошибку:Illegal variable name.

И использование всех одинарных кавычек работает, но если вы хотите подстановку переменных, все одинарные кавычки будут не работать. Например:

Если у меня есть строка A_BOOK, включая другие строки в файле FILE.

$ cat FILE
A_BOOK
B_BOOK_NOT_LAST
C_BOOK

Если я установлю BOOK на переменную BK

set BK = BOOK

Если я использую grep со всеми двойными кавычками, я получаю следующую ошибку:grep "${BK}$" FILE*:1-й $ для замены переменной, 2-й для конца шаблона(Недопустимое имя переменной).

Если я использую grep со всеми одинарными кавычками, подстановка переменных не происходит. grep '${BK}$' FILEничего не возвращает

Если я использую комбинацию двойных и одинарных кавычек, я получаю то, что ожидаю. Двойные кавычки для замены переменных и одинарные кавычки для конца шаблона.

$ grep "${BK}"'$'  # << gives expected output
A_BOOK
C_BOOK
2
27.01.2020, 19:31

Если после выполнения описанных выше действий ничего не работает, это может быть связано с окончанием строки -. Чтобы исправить, выполните:dos2unix pr0n.txtи повторите grep.

0
27.01.2020, 19:31

Используйте шаблон, за которым следует $в двойных кавычках.

Пример :Я хочу найти в файле строку, заканчивающуюся точкой с запятойhey.txt

grep ";$" hey.txt

Вывод :печатает строки, заканчивающиеся точкой с запятой.

-1
27.04.2020, 06:04

Теги

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