Я пытаюсь выбрать строку из файла file.txt
который похож на это:
>This is line 1.</li>
>This is line 2.</li>
>This is line 3.</li>
>This is line 4.</li>
Я должен выбрать содержание, которое запускается с >
и концы в </li>
таким образом, вывод будет This is line 1.
This is line 2.
и так далее. Я изучил это на форуме, но не сделал найденного решения. Это решение также не сделало работавший.
Я в конечном счете должен выбрать некоторые строки от веб-страницы. Таким образом, сначала я буду curl webpage
и затем используйте команду grep для grep, что строка, которая запускается с >
и концы в </li>
.
Спасибо.!
Это должно быть достаточно:
grep '^>.*</li> ^
и $
гарантируют, что те части , привязал в запуске и конце строк соответственно.
можно также сделать:
grep -x '>.*</li>' input-file
-x
ищет точное совпадение: целая строка должна соответствовать шаблону (который подразумевает ^
, и $
перенесен вокруг шаблона).
input-file
^
и $
гарантируют, что те части , привязал в запуске и конце строк соответственно.
можно также сделать:
grep -x '>.*</li>' input-file
-x
ищет точное совпадение: целая строка должна соответствовать шаблону (который подразумевает ^
, и $
перенесен вокруг шаблона).
Это - входной файл:
$ cat /tmp/tmp.txt
>This is line 1.</li>
invalid line 1
>This is line 2.</li>
>This is line 3.</li>
invalid line 2
>This is line 4.</li>
last invalid line
Используя grep
и awk
для извлечения строк Вы хотите:
$ cat /tmp/tmp.txt | grep -E '>*</li>' | awk -F\> '{ print $2 }' | awk -F\< '{ print $1 }'
This is line 1.
This is line 2.
This is line 3.
This is line 4.