命令介绍
sed 主要是用来将数据进行选取、替换、删除、新増的命令。我们看看命令的语法
选项: -n:一般 sed 命令会把所有数据都输出到屏幕上。如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕上; -e: 允许对输入数据应用多条 sed 命令编辑; -f 脚本文件名:从 sed 脚本中读入 sed 操作。和 awk 命令的 -f 选项非常类似; -r:在 sed 中支持扩展正则表达式; -i:用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出动作; a \:追加,在当前行后添加一行或多行。当添加多行时,除最后一行外,每行末尾需要用“\”代表数据未完结; c \:行替换,用c后面的字符串替换原数据行。当替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结; i \:插入,在当前行前插入一行或多行。当插入多行时,除最后一行外,每行末尾需要用“\”代表数据未完结; d:删除,删除指定的行; P:打印,输出指定的行; s:字符串替换,用一个字符串替换另一个字符串。格式为“行范围s/旧字串/新字串/g”(和Vim中的替换格式类似);
基本操作
sed -n '2p' student.txt #输出第2行数据 sed '2,4d' student.txt #删除从第二行到第四行的数据 sed -i '2,4d' student.txt #直接删除文件从第二行到第四行的数据 sed '2a hello' student.txt #在第二行后加入hello sed '2i hello \nworld' student.txt #在第二行前插入两行数据
字符串替换
格式:sed's/旧字符串/新字符串/g' 文件名 sed '3s/74/99/g' student.txt #在第三行中,把74换成99 sed '4s/^/#/g' student.txt #在第4行,行开头位置加上#字符
删除操作
sed -i '/str$/d' file 1、sed -i:表示直接对文本操作 2、sed -i '/字符串/d' file: d,表示删除,整条命令表示删除文件中于字符串匹配上的行 3、^ 表示行首,$表示行尾,用这个两个字符配合字符串,可以强制匹配某行内容
标签:shell,删除,命令,sed,student,字符串,txt,替换 From: https://www.cnblogs.com/boye169/p/17250745.html