Как удалить все HTML-теги с помощью sed?

/proc - это специальная файловая система. Это не то, в чем вы храните файлы. Это виртуальная файловая система, я знаю, что это неправильная аналогия, но считайте ее чем-то вроде драйвера устройства в вашем каталоге /dev. То, что вы записываете в файлы в /dev, передается системе определенным образом. Аналогично, когда вы читаете из файла, он получает эти значения из системы. Следовательно, поскольку в этих файлах нет никакой реальной хранимой информации, размер отображается как ноль.

4
01.09.2016, 03:22
2 ответа

Ограничение области двумя точками:

  • -e сообщает sed , что существует команда редактирования, следующая за

  • [^>] * - это шаблон, который соответствует нулю или более символов, которые могут быть "любыми", кроме символа >

и Команда редактирования говорит

's/<[^>]*>//g'

изменить все, что соответствует <, за которым следует любое количество символов до первого > на ничего . И сделайте это столько раз, сколько спичек.

4
27.01.2020, 20:50

Последовательность s / <[^>] *> // g - это команда для процессор обработки sed ; он приказывает выполнить «Поиск и замену». Итак, -e 's /..../ g' означает «добавить эту команду поиска и замены к выполнению sed .

Это может иметь больше смысла, если мы сделаем это. несколько команд в одной команде:

sed -e '1d' -e '$d'

добавит две команды к обработке sed : «удалить первую строку» и «удалить последнюю строку».

[^>] - это регулярное выражение, означающее «любой символ, кроме >

, поэтому [^>] * означает« ноль или более » любого символа, кроме >

И поэтому <[^>] *> означает <, за которым необязательно следует не- > , за которым следует > .

И затем мы помещаем это в команду «поиск и замена», где эта последовательность заменяется ничем, и затем проделываем это несколько раз в строке (последний g ) .

Это означает, что строка hello там сначала будет соответствовать ( <, затем abc соответствует «ноль или более не- > », затем > ) и замените это ничем, а затем повторите это для . Результатом будет привет .

(Обратите внимание на лишние пробелы, потому что мы их не удаляем!)

6
27.01.2020, 20:50

Теги

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