1.具体操作
- 查看哪些文件中有“OpenCV REQUIRED”(无用)
grep -r "OpenCV REQUIRED" *
- 查看有哪些“CMakeLists.txt”文件(无用)
find ./ -name "CMakeLists.txt"
- 把“CMakeLists.txt”文件中原来的“OpenCV REQUIRED”统一替换成“OpenCV 3 REQUIRED”(实用)
find ./ -name "CMakeLists.txt" | xargs sed -i "s/OpenCV REQUIRED/OpenCV 3 REQUIRED/g"
2.命令讲解
2.1.sed命令
Linux之sed命令详解
sed 中的-i 选项意思是对文件直接进行编辑;" " 里面的s/...../g 命令意思是替换文件中每一行的所有匹配文本为新的文本,比如sed -i 's/book/books/g' file 会匹配file文件中每一行的所有book替换为books。
2.2.xargs命令
xargs命令 – 过滤器
简单的来说这个命令就是把前面的命令穿过来的值作为下一个命令的参数,传入给下一个命令。按照上面替换OpenCV版本的操作,就是寻找到所有的CMakeLists.txt 文件,然后把这些文件传给sed 命令,从而实现这些文件中OpenCV内容的替换。
2.3.find命令
find命令 – 查找和搜索文件
find命令就是查找和搜索文件的,其中-name 参数是按照文件名进行搜索。
3.Linux命令大全
Linux命令大全(手册)
一个网站,对常见的一些简单命令的讲解比较好,复杂命令(比如上面的sed命令)讲的可能不是很详细。
|