永发信息网

删除一个文件夹中的文件中含有制定字符的shell脚本

答案:2  悬赏:40  手机版
解决时间 2021-02-04 17:00
就是要删除一个项目中所有文件的注释的shell脚本,注释的格式如下:
最佳答案
sed '/\/\*/{s#/\*.*\*/##g;t;:1;N;/\*\//!b1;s#/\*.*\*\/##}' file
C语言的注释格式为:,以此为处理参考:
/\/\*/
匹配正则表达式,匹配内容为##g;t;
将替换为空,如果替换成功,则t(在s替换成功后,转到命令脚本结束,读取下一行信息)。
#号为替换分隔符,结尾的g表示全局替换,即避免有 在同一行出现。
这里面的/不需要转义(转义不转义都可以正确识别),但是*仍然需要\转义。

若匹配没在同一行):
:1
标识一个位置,位置名称为1。
N;
将这一行保存至模式空间,并读取下一行。
/\*\//!b1;
若不匹配*/,则命令脚本从:1处开始执行。(之前标识的位置1)
!为/\*\//匹配的否定,b1,转到:1处。
此处相当于循环,不匹配就一直将文件读下去,直到匹配*/,此时模式空间的内容大致为:

(若直到文件结束,仍没有*/出现,在结束后,输出模式空间的所有内容,即从,不进行b1的操作,进行下一步:
s#/\*.*\*\/##
同上替换,将满足的内容替换为空。
结束。

替换会产生空行,如果想删除空行,再追加 | sed '/^$/d'
全部回答
同问。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下列能直接被消化道吸收的一组营养成分是BA.
富利华服饰广场百禄桥店地址在哪,我要去那里
王主的意思是什么啊?知道的请说下!
中国民生银行atm(古楼公路1876弄)地址在什么
手机微信不小心删除了怎么恢复聊天记录
中国四川宜宾五粮液礼品有限公司出品 五粮精
国家电网濮阳县解放路供电营业厅我想知道这个
瘦腿霜一天用几次
中国民生银行Atm(松卫北路)地址有知道的么?
1.Heading home after
把101胶水弄到电视屏幕上了怎么办
乌焉成马的意思是什么啊?知道的请说下!
中国民生银行atm(方松街道南期昌路江中公寓)
滕州汇金公司这个地址在什么地方,我要处理点
安卓平板电脑系统解开的kernel.img是干什么的
推荐资讯
凯尔口腔诊所我想知道这个在什么地方
梁玉石听出石无痕弹琴的感情是哪一集
穿越到斗破苍穹,主角是炎族的小说
门达中心校这个地址在什么地方,我要处理点事
俳调的意思是什么啊?知道的请说下!
鲛工的意思是什么啊?知道的请说下!
乐视1s和小米4c高配哪个好
“魔高”还是“道高”:真不是一句话能说清的
三高的人能吃蟹黄酱吗
交行信用卡透支额度是两千为什么只能取出一千
荣遇的意思是什么啊?知道的请说下!
ready to和ready for的区别·
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?