如何在文件中将特定表达式切换为小写(linux命令)

How switch a specific expression to lower case in a file (linux command)

本文关键字:命令 linux 表达式 文件      更新时间:2023-10-16

我正试图在linux上找到一个命令或创建一个脚本,允许在子目录中的许多文件中将特定表达式切换为小写。

我需要这个来改变C++项目中所有include语句的情况(将Visual studio项目移植到linux)

所以在很多文件中我都有

#include <Path1/pAth2/naMeofTheHeader.h>

我想把它改成

#include <Path1/pAth2/nameoftheheader.h>

(当然,我不希望路径以小写移动)

有人有表演这个的想法吗?我尝试了一些sed命令(用\L),但一切都成功了。

感谢

您可以尝试以下sed命令,

sed 's~(#include .*/)([^/.]*)~1L2~g' file

示例:

$ echo '#include <Path1/pAth2/naMeofTheHeader.h>' | sed 's~(#include .*/)([^/.]*)~1L2~g'
#include <Path1/pAth2/nameoftheheader.h>