我是grep的新手,在重构C和C ++文件的过程中,我遇到了更换系统的问题,包括#include <>
本地包含#include ""
。
有没有办法使用grep和任何替换工具,比如给定目录和子目录上的任何C或C ++文件?
答案 0 :(得分:1)
以下是使用sed
的解决方案:
cat file.cpp | sed -re 's/#include\s*<([^>]+)>/#include "\1"/g' > fixed_file.cpp
答案 1 :(得分:1)
您可以在perl中执行此操作:
perl -p -i.bak -e "s/<(.*)>/\"\1\"/g" abc.h
或者更安全:
perl -p -i.bak -e "s/#include <(.*)>/#include \"\1\"/g" abc.h