Я пытаюсь получить строку из файла 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>$' input-file
^ и $ гарантируют, что эти части привязаны к началу и концу строк соответственно.
Вы может также выполняться:
grep -x '>.*</li>' input-file
-x ищет точное соответствие: вся строка должна соответствовать шаблону (что подразумевает, что ^ и $ обернуты вокруг шаблона). [!d4 ]
Это должно быть достаточно:
grep '^>.*</li>$' input-file
^ и $ гарантируют, что эти части привязаны к началу и концу строк соответственно.
Вы может также выполняться:
grep -x '>.*</li>' input-file
-x ищет точное соответствие: вся строка должна соответствовать шаблону (что подразумевает, что ^ и $ обернуты вокруг шаблона).
Это должно быть достаточно:
grep '^>.*</li>$' 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.
Это входной файл:
$ 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.
Это входной файл:
$ 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.