分页: 1 / 1

删除 C语言注释

发表于 : 2011-11-06 23:34
slimhigh
假设有一组C语言文件,这些文件开头都有几行注释。注释内容的第一行行首有/*,注释结束行只有*/没有其它内容。编写一个脚本,删除这些注释。

我是这样写的:

代码: 全选

#!/bin/sh
for file in "$@" ; do
	begin=`grep -nm1 '/\*' $file | cut -d':' -f1`
	end=`grep -nm1 '\*/' $file | cut -d':' -f1`
	sed -n $begin,$end'!p' $file
done
大家有更好的方法吗?求指导。

Re: 删除 C语言注释

发表于 : 2011-11-07 11:12
YeLee
我在想,假如那个注释是跨行的,或者是//开头的……
码盲,码盲,楼主不要见怪

Re: 删除 C语言注释

发表于 : 2011-11-10 23:44
fanhe
差不多能用就行了, 又不是要写编译器

建议稍微完善的点是, 先寻找 /* , 然后为起点往后正则匹配 */, 删除起点到终点间的所有代码, 删除后起点行和重点行只有空格或者空, 也删除之

Re: 删除 C语言注释

发表于 : 2011-11-11 9:12
eexpress
perl支持$_ @_随便转换,就是单行多行随时切换。

Re: 删除 C语言注释

发表于 : 2011-11-11 9:16
leeaman
干吗删除....留着多好