sed搜索某一行,然后替换掉该行中的某个字符串
最近在修改yocto的strace-4.11的recipe时遇到一个这样的问题:
先搜索某一行,然后在替换掉该行中的某个字符串.
我想要替换掉Makefile文件中的某一行的某个字符串,比如srcdir = ../../strace-4.11/tests, 要用ptest替换掉:strace-4.11
sed -i -e '/^srcdir/s/strace.*[1-9]/ptest/' file
分析:
-i 表示直接对源文件进行修改
-e 制定执行语句
/^srcdir/ 先搜索匹配该模式的行
s/strace.*[1-9]/ptest/ 中.表示任何单个字符,*表示连续0个或者多个字符,[1-9]表示1-9中任一个数字.