Я хотел бы удалить шаблон строки, как это
You should not remove this /*This is the part should remove*/ You
should not remove this
Я хотел бы удалить весь текст внутри /*
и */
.
Я хотел бы удалить шаблон строки, как это
You should not remove this /*This is the part should remove*/ You
should not remove this
Я хотел бы удалить весь текст внутри /*
и */
.
В интересах учить человека ловить рыбу и давать человеку ловлю рыбу, я связываю вас с руководством по регулярным выражениям. regular-expressions.info/quickstart.html
Если вам нужно быстрое решение, вот что вы должны сделать: Откройте файл в vim и введите следующее:
:s/\/\*.*?\*\/ /g
Предполагается, что это заменит все ваши строки, начинающиеся / * и заканчивающиеся * / пробелом. Сначала я связал вас с руководством по регулярным выражениям на случай, если я зарежу написанное мной выражение. Либо прочитайте учебник и напишите свою собственную команду, либо сделайте резервную копию, прежде чем использовать строку выше.
Попробуйте следующую быструю и грязную строку sed:
sed -e 's@/\*.*\*/@@' file
Это покажет вам вывод, но на самом деле не изменит файл, как только вы запустите его и подтвердите, что он вносит необходимые изменения, затем поставьте -i
перед -e
чтобы сообщить ему об изменении файла на месте.
Что бы он на самом деле ни делал, он берет все между /*
и */
и заменяет его ничем (по сути, удаляя его), он также получает часть /*
и */
.
Сначала я даю вам метод немодификации на тот случай, если я убил свое регулярное выражение (работа с памятью и отсутствие доступа к sed на текущей машине для быстрого тестирования). Также имейте в виду, что это не сработает, если в тексте будут удалены поперечные линии, так как sed работает на каждой строке в отдельности. Если вам нужна программа для работы с несколькими строками текста одновременно, вам понадобится либо awk, либо, возможно, perl (ни того, ни другого я не знаю, чтобы предложить варианты кода).