У меня есть данные в следующем виде:Подсчет числа строк, содержащих шаблон
<id_mytextadded1829>
<text1> <text2> <text3>.
<id_m_abcdef829>
<text4> <text5> <text6>.
<id_mytextadded1829>
<text7> <text2> <text8>.
<id_mytextadded1829>
<text2> <text1> <text9>.
<id_m_abcdef829>
<text11> <text12> <text2>.
Теперь я хочу, чтобы количество строк, в которых <text2>
присутствует. Я знаю, что могу сделать то же самое с использованием регулярного выражения python. Но регулярное выражение скажет мне, есть ли шаблон в строке или нет? С другой стороны, мое требование - найти строку, которая присутствует точно в середине строки. Я знаю, что sed подходит для замены содержимого, присутствующего в строке. Но вместо замены, если мне нужно только количество строк ... это можно сделать с помощью sed.
EDIT: Извините, что забыл упомянуть. Я хочу строки, где <text2>
происходит в середине строки. Мне не нужны строки, где <text2>
происходит в начале или в конце строки. . в данных, показанных выше, число линий, которые имеют <text2>
в середине, равны 2 (а не 4).
Есть ли какой-нибудь способ, с помощью которого я могу достичь желаемого подсчета числа строк, с помощью которого я могу узнать количество строк, которые имеют <text2>
в середине, используя Linux или питон
Я не думаю, что '-P' действительно необходим в этом случае. ('-E' будет работать просто отлично, так как это ускользает от' + 'как' \ + '. Моя страница man для grep предполагает, что опция очень экспериментальная) – Hasturkun
@Hasturkun Typing _-P_ требует меньше усилий по сравнению с экранированием , PCRE, т.е. YMMV. – devnull