1、标记替换 s/A/B/
1. Sed简介
2. 定址
3. Sed命令
4. 选项
5. 元字符集
6. 实例
7. 脚本
1. Sed简介
sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。
方法1:
sed -i 's/被替换的内容/要替换成的内容/' file
方法2:
sed 's/被替换的内容/要替换成的内容/g' file > file.out
mv file.out file
这里注意:
不能这样做:
sed 's/被替换的内容/要替换成的内容/g' file > file
这样只会清空源文件。
例子:
(pathProxy->getModel("NaviRoadModel").titleText)
(SettingProxy->getModel("dRoadModel").titleText)
sed -n 's/(\(.*\)->getModel("\(.*\)")./(static_cast<\2*>(\1->getMoel("\2"))->/p' text.txt
结果:
(static_cast<NaviRoadModel*>pathProxy->getModel("NaviRoadModel"))->titleText)
(static_cast<dRoadModel*>SettingProxy->getModel("dRoadModel"))->titleText)
2、
如何将find语句搜出的文件,只显示其文件名,而不显示路径名
find . -name '#.c' -exec basename {} \;
添加文件首行 :
sed -i '1i\XXX'
尾行的文本:
sed -i '$a\#endif'