我有一些最初在Windows上开发的C源代码。现在,我想在Linux上进行处理。有大量的include伪指令应更改为Linux格式,例如:
#include "..\includes\common.h"
我正在寻找一个命令行来浏览所有文件.h
和.c
文件,找到include指令,并用正斜杠替换任何反斜杠。
find
+ GNUsed
解决方案:
find . -type f -name "*.[ch]" -exec sed -i '/^#include / s|\\|/|g' {} +
"*.[ch]"
-通配符以查找带有扩展名.c
或.h
-i
:GNUsed
扩展名,无需备份即可就地编辑文件。FreeBSD / macOSsed
在语法上有类似的扩展名-i ''
。/^#include /
-在以模式开头的相遇/匹配行上: #include
s|\\|/|g
-将所有反斜杠替换\
为正斜杠/
(\
用反斜杠转义\
表示文字)。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句