首页 > 代码库 > sed
sed
sed
非交互式文本编辑器,可以对文本文件和标准输入进行编辑,标准输入包括键盘输入,文件重定向,字符串,变量和来自于管道的文本,sed只对缓冲区的原始文件的副本进行编辑,并不编辑原始文件
常用命令:
1.删除
sed ‘2,5d‘ datafile
#删除第二到第五行
sed ‘/My/,/You/d‘ datafile
#删除包含"My"的行到包含"You"的行之间的行
sed ‘/My/,10d‘ datafile
#删除包含"My"的行到第十行的内容
-e 选项表示下一个字符串解析为sed编辑命令
2.特殊元字符
\< :词首定位符 /\<my/ 匹配包含以my开头的单词的行
\> 词尾定位符 /my\>/ 匹配包含以my结尾的单词的行
x\{m\}:连续m个x
x\{m,\}:至少m个x
x\{m,n\}: 至少m个,但不超过n个x
3.r命令
r命令是读命令。sed使用该命令将一个文本文件中的内容加到当前文件的特定位置上
sed ‘/My/r introduce.txt‘ datafile
#如果在文件datafile的某一行匹配到模式My,就在该行后读入文件introduce.txt的内容。如果出现My的行不止一行,则在出现My的各行后都读入introduce.txt文件的内容。
4.sed -i会改变源文件的内容,可以使用重定向符>来捕获文件的输出(注意不能重定向到正在编辑的文件中)
5.使用单引号可以阻止shell解释编辑指令中特殊字符(比如空格)
sed