用sed将C++注释(//) 替换成存 C(/* ... */)注释

本文介绍如何使用Vim编辑器及SED命令行工具进行特定字符串的替换操作,包括将双斜杠注释转换为星号包围的注释形式,并最终移除这些注释符号。

先将//...替换成/* //... */

在vim中可以这样

:%s/\/\/.*$/\/* & *\//g

命令行

sed "s/\/\/.*$/\/* & *\//g"

再删除//

:%s/\/\///g

命令行

sed "s/\/\///g"



root@zhm-ZX5:/home/zhm/Downloads/peak-linux-driver-8.15.2# make clean make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/driver” rm -f src/*o src/*~ src/.*cmd *o *ko *~ .*cmd pcan.mod.c Module.symvers modules.order .cache.mk make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/driver” make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/lib” rm -f src/*~ rm -rf obj lib obj32 lib32 make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/lib” make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/test” rm -f src/*~ src/*.o *~ receivetest transmitest bitratetest filtertest pcanfdtst pcan-settings receivetest_posix transmitest_posix make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/test” make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic” *** *** Processing 'pcanbasic' directory... *** make[2]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/pcanbasic” *** *** Cleaning PCANBasic library... *** rm -f src/*~ out/*.o out/*.gcno *~ *.so.* *.so lib/*~ lib/*.so.* lib/*.so lib32/*~ lib32/*.so.* lib32/*.so out32/*.o out32/*.gcno make[2]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/pcanbasic” *** *** Processing 'pcaninfo' directory... *** make[2]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/pcaninfo” *** *** Cleaning pcaninfo... *** rm -f src/*~ src/*.o ../pcanbasic/src/*~ ../pcanbasic/src/*.o *~ *.so.* *.so pcaninfo.1.3.1 pcaninfo make[2]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/pcaninfo” *** *** Processing 'examples' directory... *** make[2]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples” *** *** Processing examples 'console' directory... *** make[3]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console” *** *** Processing 'C' directory (console examples)... *** make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/c” *** *** Cleaning PCANBasic C examples rm -f src/*~ src/*.o *~ pcanwrite pcanread pcaneventread pcaneventwrite make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/c” *** *** Processing 'NativeC++' directory (console examples)... *** make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++” *** *** Cleaning PCANBasic C++ examples... *** make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/01_LookUpChannel” rm -f *.o *~ ../LookUpChannel make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/01_LookUpChannel” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/02_GetSetParameter” rm -f *.o *~ ../GetSetParameter make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/02_GetSetParameter” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/03_ManualRead” rm -f *.o *~ ../ManualRead make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/03_ManualRead” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/04_ManualWrite” rm -f *.o *~ ../ManualWrite make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/04_ManualWrite” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/05_TimerRead” rm -f *.o *~ ../TimerRead make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/05_TimerRead” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/06_TimerWrite” rm -f *.o *~ ../TimerWrite make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/06_TimerWrite” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/07_ThreadRead” rm -f *.o *~ ../ThreadRead make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/07_ThreadRead” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/08_EventDrivenRead” rm -f *.o *~ ../EventDrivenRead make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/08_EventDrivenRead” make[5]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/09_TraceFiles” rm -f *.o *~ ../TraceFiles make[5]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++/09_TraceFiles” make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console/NativeC++” make[3]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/console” *** *** Processing examples 'gui' directory... *** make[3]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/gui” *** *** Processing 'python' directory (GUI examples)... *** make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/gui/python” rm -f *.pyc make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/gui/python” make[3]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples/gui” make[2]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic/examples” make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/libpcanbasic” root@zhm-ZX5:/home/zhm/Downloads/peak-linux-driver-8.15.2# make all NET=NETDEV_SUPPORT PCI=NO ISA=NO DNG=NO PCC=NO make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/driver” *** *** Making pcan driver in netdev mode *** *** Host OS Release=Ubuntu v22.04 *** Host machine kernel version=6.8.0-86-generic *** Driver kernel version=6.8.0-86-generic (6.8.0) *** Path to kernel sources=/usr/src/linux-headers-6.8.0-86-generic *** use KBUILD=yes *** use DKMS= *** gcc version=11 *** make -C /usr/src/linux-headers-6.8.0-86-generic EXTRA_CFLAGS="-I/home/zhm/Downloads/peak-linux-driver-8.15.2/driver -DNO_DEBUG -DMODVERSIONS -DNO_PARPORT_SUBSYSTEM -DUSB_SUPPORT -DNO -DNO_PCIEC_SUPPORT -DNO -DNO -DNO -DNETDEV_SUPPORT -DNO_RT -Wno-date-time" V=0 modules M=/home/zhm/Downloads/peak-linux-driver-8.15.2/driver make[2]: 进入目录“/usr/src/linux-headers-6.8.0-86-generic” warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04.2) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04.2) 12.3.0 CC [M] /home/zhm/Downloads/peak-linux-driver-8.15.2/driver/src/pcan_main.o gcc: error: unrecognized command-line option ‘-ftrivial-auto-var-init=zero’ make[4]: *** [scripts/Makefile.build:243:/home/zhm/Downloads/peak-linux-driver-8.15.2/driver/src/pcan_main.o] 错误 1 make[3]: *** [/usr/src/linux-headers-6.8.0-86-generic/Makefile:1927:/home/zhm/Downloads/peak-linux-driver-8.15.2/driver] 错误 2 make[2]: *** [Makefile:240:__sub-make] 错误 2 make[2]: 离开目录“/usr/src/linux-headers-6.8.0-86-generic” make[1]: *** [Makefile:523:all] 错误 2 make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.15.2/driver” make: *** [Makefile:84:all] 错误 2 root@zhm-ZX5:/home/zhm/Downloads/peak-linux-driver-8.15.2#
最新发布
11-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值