Grep и Regex HTML-файл

0

У меня есть HTML файл с тысячами строк, но что-то повторяется.

CODE=12345-ABCDE-12345-ABCDE</div>...<!--This line goes on for hundreds of characters-->

Теперь строка начинается с "CODE =" каждый раз, и длина кода одинакова каждый раз. Следующие 28 символов - это буквы, цифры или тире.

cat mysite.html | grep "CODE="

Но я бы хотел, чтобы регулярное выражение отображало все на линии ПЕРЕД </div>

Благодарю!

Теги:
grep
cat

2 ответа

1

Вместо этого вы можете использовать cut:

cat myfile.html | cut -c 6-28

Это показывает символы 6 - 28 каждой строки. Это использует тот факт, что длина CODE= известна, а также длина следующего кода.

  • 0
    Спасибо за чаевые! Это сработало как прелесть: cat mysite.html | grep "CODE=" | cut -c 6-29
  • 2
    @ Goodies Вам не нужно использовать cat здесь. grep "CODE=" mysite.html такой же, как cat mysite.html | grep "CODE=" .
0

Вы также можете использовать sed:

sed -rn 's@^(CODE=[A-Za-z0-9\-]{23})</div>.*@\1@p' file

Сопоставьте любую строку с CODE= за которой следуют 23 символа, содержащие either letters, numbers, or dashes, а затем </div>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню