linux sed命令

来源:互联网 发布:linux检查文件是否存在 编辑:程序博客网 时间:2024/05/29 13:09
sed是一种在线编辑器,一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区,对每一行执行执行命令条件检测,发现匹配就执行,处理完成后把缓冲区的内容送往屏幕。
sed 后面接的动作要用连个单引号括起


-i:表示将多点编辑 sed -e '3d' -e 's/UTF/utf/' file 第一个编辑命令删除第三行数据,第二条命令搜索UTF替换为utf
-n:使用安静模式。在一般sed的用法中所有来自STDIN的内容都会被输出到终端。如果加-n参数后,则只有经过sed处理的那行才会列出。
-i:直接修改读取的文件内容,而不是输出到终端
n1,n2:选择处理的行数
a 新增,c 取代,d 删除,i 插入,p 列印,s 替换


指定行(后) 新增 sed [-i] '[行号]a[内容]' [file]
包含模板的行之后 新增 sed [-i] '/模板/a[内容]' [file]
文件尾部 新增 sed [-i] '$a[内容]' [file]


取代第n行 sed 'nc[内容]' [file]
取代n-m行为单行内容 sed 'n,mc[内容]' [file]


删除第n行 sed 'nd' [file]
删除n-m行 sed 'n,md' [file]
删除第n到末尾的行 sed 'n,$d' [file]


指定行(前)插入 sed [-i] '[行号]i[内容]' [file]
包含模板的行之前 插入 sed [-i] '/模板/i[内容]' [file]


列出第n行 sed -n 'np' [file]
列出第n-m行 sed -n 'n,mp' [file]
列行包含模板的行 sed -n '/[记录]/p' [file]


以行为单位的替换 sed 's/[replaced]/[replace]/g' [file]


利用sed从特定行开始查看文件
cat -n file|grep "find"
sed -n '/n/,// p' file |more


0 0