我想在出现这种情况的地方评论一行
如果(a&b)?光盘;
所以我看过一个脚本,但它不起作用。
for f in var.c; do
cat $f | sed 's@if(a & b)\(.*\)$@/*\1 */@' > converted-files/$f
done
谁能告诉我比这更适合我的情况的脚本。
您的sed
表达式被编写为仅包含三元运算符之后的部分。尝试:
sed 's@if(a & b).*$@/* & */@'
也就是说,我不确定您是否真的想使用正则表达式来注释代码。
你真的不应该使用cat
. 您的代码片段也不是有效的 C,但这可能是注释掉它的好理由。
for f in var.c
do
sed 's@if(a & b).*$@/*&*/@' $f > converted-files/$f
done
如果您愿意,您可以在注释标记周围添加空格,但对称性建议总共 0 或 2 个空格,而不仅仅是脚本中的 1 个。