Hal является устаревшим. Это просто не сделало его и было отодвинуто. Dbus очень не имеет отношение к аппаратным средствам вообще - это - системная шина сообщения (универсальное средство сообщения между различными компонентами системы). Самая важная общая система управления аппаратными средствами для настольных систем Linux в настоящее время udev. Если Вам интересно, можно прочитать очень хорошее руководство из хинду документации.
Поскольку sed
соответствия в a greedy
способ, всегда существует возможность, что текст мимо конца комментария будет подобран вместо предыдущего реального маркера конца комментария, например, как в заключенной в кавычки строке, которая содержит "* /".
Это не может быть обработано sed
простым способом, но можно работать вокруг этого. Вот один такой метод: использование односимвольного заполнителя для конечного ограничителя с двумя символами. Используя шестнадцатеричное значение \x01
поскольку заместитель символов в безопасности (т.е. не столкнется с существующим текстом), поскольку он не существует в обычном тексте.
sed "\|^/\*.*\*/|{ s|\*/|\x01|; s|.*\x01|| }" "$file"
perl
, с другой стороны, может дополнительно обработать lazy
соответствие (и намного больше). Как уже упомянуто принцем John Wesley в комментариях, вот ленивое perl
эквивалентный.
perl -ple 's|/\*.*?\*/||g' "$file"
Попробуйте этого:
sed 's@/\*[^/]*\*/@@'
К сожалению, это может испытывать трудности с комментариями с /
внутри.
Может быть это, будет полезно два варианта вместе: чтобы быть уверенным, что абсолютно все комментарии удалены:
sed 's@/\*[^/]*\*/@@;s@/\*[^*]*\*/@@;'
perl
пример работал, большое спасибо. Используя Perl и запись вывода в новый файл я сделанный это:perl -ple 's|/\*.*?\*/||g' "txt/crmpicco.txt" > text/new_crmpicco.txt
– crmpicco 29.06.2012, 11:24