2013-08-05 2 views
0

Я хочу прокомментировать линию, где когда-либо это условие приходитShell Script для комментирования строки

если (а & б)? CD;

поэтому я видел один скрипт, но его не работает.

for f in var.c; do 
    cat $f | sed '[email protected](a & b)\(.*\)[email protected]/*\1 */@' > converted-files/$f 
done 

Может ли кто-нибудь сказать мне лучший сценарий, чем этот, который будет работать для моих обстоятельств.

ответ

1

Ваше выражение sed написано на Включает только часть после тройного оператора. Попробуйте:

sed '[email protected](a & b).*[email protected]/* & */@' 

То есть, я не уверен, если вы действительно хотите использовать регулярное выражение закомментировать код.

0

Вы действительно не должны использовать cat. Ваш фрагмент кода также недействителен C, но это может быть хорошей причиной для его комментирования.

for f in var.c 
do 
    sed '[email protected](a & b).*[email protected]/*&*/@' $f > converted-files/$f 
done 

Вы можете добавить пробелы вокруг комментария маркеры, если вы предпочитаете, но симметрия предполагает либо 0 или 2 места в общем, а не только 1, как в сценарии.

Смежные вопросы