Linux系统下,sed指令是非常好用的一个指令,方便、快捷进行文本操作,把日常常用的指令做下总结,方便日后查询使用,(不断更新中)。
文本替换
Question:将test.txt文件中所有的http://www.baidu.com换成http://www.air-dragon.cn
text.txt文本内容
this is a page from http://www.baidu.com crawled from scrapy!
and lots of content from this page http://www.baidu.com!
now you can make some actions on this database.
方法一:原文件中直接修改
sed -i ‘s/oldString/newString/g’ filename
Example:
sed -i ‘s/http:\/\/www.baidu.com/http:\/\/www.air-dragon.cn/g’ text.txt
Note: sed指令中”/”与url链接中的”/”冲突,每个“/”前需加转义符“\”
方法二:生成临时文件,然后再重命名临时文件
sed ‘s/oldString/newString/g’ filename > newFilename
Example:
sed ‘s/http:\/\/www.baidu.com/http:\/\/www.air-dragon.cn/g’ text.txt > tempText.txt
mv tempText.txt text.txtNote:
该指令中不能直接写成以下格式
sed ‘s/http:\/\/www.baidu.com/http:\/\/www.air-dragon.cn/g’ text.txt > text.txt
这样做,会清空text.txt文件内容