任何可用于将c99
样式评论//
转换为c
样式评论/* ..*/
的工具/脚本到整个项目中?
如果我有这样的代码
// printf("stcakoverflow");
然后它将被转换为
/* printf("stcakoverflow"); */
以及
int temp // this is temp varialbe
转换为
int temp /* this is temp varialbe */
答案 0 :(得分:6)
对于命令行示例,请尝试例如像这样的东西:
echo "int temp; // this is temp variable" | sed 's@//\(.*\)$@/*\1 */@'
以上结果
int temp; /* this is temp variable */
对于真实文件,您可以使用例如cat
代替echo
,它是sed
的管道和执行“魔法”的sed
命令。
编辑:如何为大量文件执行此操作
这样的事情可能是:
cd /your/source/directory
mkdir converted-files
for f in *.cpp; do
cat $f | sed 's@//\(.*\)$@/*\1 */@' > converted-files/$f
done
现在所有转换后的源文件都位于converted-files
文件夹中。
答案 1 :(得分:5)
对于使用IDE /编辑器的人来说,使用Notepad ++(你也可以在Linux上使用Wine运行它)正则表达式匹配并替换你可以为一堆文件做。
查找内容://(.*?)$
替换为:/\*\1\*/
答案 2 :(得分:4)
ccmtcnvt - 将C ++注释转换为C注释
答案 3 :(得分:0)
我做了这个
find /path/to/project/ -type f -exec sed -i 's@//\(.*\)$@/*\1 */@' {} \;
这里工作正常..但它适用于所有文件。
如果你想让它只用于.c和.h文件那么
find /path/to/project/ -name '*.c' -o -name '*.h' -exec sed -i 's@//\(.*\)$@/*\1 */@' {} \;