注:带有【实用手记】标题的文章主要用于临时备忘,内容不甚详尽,但之后也会视需要对相关知识进行完善。
sed跟awk一样,是功能十分强大的文件处理命令,全称stream editor。这里仅介绍最常见最实用的用法,替换指定文件内容:
sed -i 's/src/dest/g' filepath博主一般用于CMakeLists.txt 的内容替换,进而使用cmake快速生成makefile。下面是一个CMakeLists.txt 示例:
cmake_minimum_required(VERSION 2.8) project( main ) find_package( OpenCV REQUIRED ) include_directories( ${OpenCV_INCLUDE_DIRS} ) add_executable( main main.cpp ) target_link_libraries( main ${OpenCV_LIBS} ) 当我们要将这个CMakeLists.txt应用于生成fun.cpp的makefile时,就要将main替换为fun,命令如下: sed -i 's/main/fun/g' CMakeLists.txt这时原文件就会被修改为: cmake_minimum_required(VERSION 2.8) project( fun ) find_package( OpenCV REQUIRED ) include_directories( ${OpenCV_INCLUDE_DIRS} ) add_executable( fun fun.cpp ) target_link_libraries( fun ${OpenCV_LIBS} ) 如果你只是想要做临时替换(不修改原文件内容),那么: sed 's/src/dest/g' filepath修改过的文件内容将会直接打印在终端上,需要使用直接复制即可,而原文件内容不会被修改。